Дружественный URL в каталоге

У меня есть установка WordPress в домене и в каталоге, у меня есть сайт, разработанный на PHP + MySQL, полностью независимый от WordPress. Работает один. Этот сайт является backoffice, поэтому он установлен в каталоге / backoffice /.

Один из каталогов backoffice У меня есть другой каталог, который я хочу, чтобы он работал с дружественными URL.

В моем .htaccess у меня есть следующие правила:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^backoffice/edit_user/([^/\.]+)/?$ /backoffice/edit_user/index.php?o=$1 [L,NC,QSA]RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !=/server-status
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^login/?$ wp-login.php [QSA,L]
RewriteRule ^postpass/?$ wp-login.php?action=postpass [QSA,L]
RewriteRule ^logout/?$ wp-login.php?action=logout [QSA,L]
RewriteRule ^lostpassword/?$ wp-login.php?action=lostpassword [QSA,L]
RewriteRule ^retrievepassword/?$ wp-login.php?action=retrievepassword [QSA,L]
RewriteRule ^resetpass/?$ wp-login.php?action=resetpass [QSA,L]
RewriteRule ^rp/?$ wp-login.php?action=rp [QSA,L]
RewriteRule ^register/?$ wp-login.php?action=register [QSA,L]

Когда вызывается такой URL-адрес, как этот: mydomain.com/backoffice/edit_user/joseantonio, появляется страница 404.

В чем дело?

Заранее спасибо.

-2

Решение

Как это в этот ответ — вы можете отладить свой апаш переписывает. Включи RewriteLog в вашем виртуальном хосте ИЛИ ЖЕ конфигурация сервера:

RewriteEngine On
RewriteLog "/var/log/apache2/rewrite.log"RewriteLogLevel 3

Тогда вы увидите, какое правило делает это для перенаправления 404.

6

Другие решения

Наконец, я смог найти решение:

Вот код, используемый в сочетании с WordPress:

     <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]

**RewriteRule ^backoffice/edit_user/([^/\.]+)/?$ /backoffice/edit_user/index.php?o=$1 [L,NC,QSA]**

RewriteCond %{REQUEST_URI} !=/server-status
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^login/?$ wp-login.php [QSA,L]
RewriteRule ^postpass/?$ wp-login.php?action=postpass [QSA,L]
RewriteRule ^logout/?$ wp-login.php?action=logout [QSA,L]
RewriteRule ^lostpassword/?$ wp-login.php?action=lostpassword [QSA,L]
RewriteRule ^retrievepassword/?$ wp-login.php?action=retrievepassword [QSA,L]
RewriteRule ^resetpass/?$ wp-login.php?action=resetpass [QSA,L]
RewriteRule ^rp/?$ wp-login.php?action=rp [QSA,L]
RewriteRule ^register/?$ wp-login.php?action=register [QSA,L]

Как видите, я изменил положение своего правила после правила index.php, работает нормально, в любой другой позиции он не будет работать.

2

Вы можете попробовать использовать собственный .htaccess в / backoffice / папке с

RewriteBase /backoffice/
# all the backofice rules
1
По вопросам рекламы [email protected]