Php 目录中的友好URL
我在域和目录中安装了Wordpress,我有一个完全独立于Wordpress的PHP+MySQL网站。它独自工作。此站点是backoffice,因此安装在/backoffice/目录下 一个目录的后台我有另一个目录,我想它与友好的网址的工作 在我的.htaccess中,我有以下规则:Php 目录中的友好URL,php,wordpress,.htaccess,friendly-url,Php,Wordpress,.htaccess,Friendly Url,我在域和目录中安装了Wordpress,我有一个完全独立于Wordpress的PHP+MySQL网站。它独自工作。此站点是backoffice,因此安装在/backoffice/目录下 一个目录的后台我有另一个目录,我想它与友好的网址的工作 在我的.htaccess中,我有以下规则: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^backoffice/edit_user/([^/\.]+)/
<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]
重新启动发动机
重写基/
重写规则^backoffice/edit\u user/([^/\.]+)/?$/backoffice/edit\u user/index.php?o=$1[L,NC,QSA]
重写规则^index\.php$-[L]
重写cond%{REQUEST_URI}=/服务器状态
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
重写规则^login/?$wp-login.php[QSA,L]
重写规则^postpass/?$wp login.php?操作=postpass[QSA,L]
重写规则^logout/?$wp login.php?操作=注销[QSA,L]
重写规则^lostpassword/?$wp login.php?操作=lostpassword[QSA,L]
重写规则^retrievepassword/?$wp login.php?操作=retrievepassword[QSA,L]
重写规则^resetpass/?$wp login.php?操作=resetpass[QSA,L]
重写规则^rp/?$wp login.php?操作=rp[QSA,L]
重写规则^register/?$wp login.php?操作=注册[QSA,L]
当调用像这样的url:mydomain.com/backoffice/edit_user/joseantonio时,会出现404页面
怎么了
提前感谢。因为它在-您可以调试您的Apache重写。在虚拟主机或服务器配置中启用RewriteLog
:
RewriteEngine On
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3
然后您将看到重定向404的规则。最后,我可以找到解决方案: 以下是与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$-[L]
**重写规则^backoffice/edit\u user/([^/\.]+)/?$/backoffice/edit\u user/index.php?o=$1[L,NC,QSA]**
重写cond%{REQUEST_URI}=/服务器状态
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
重写规则^login/?$wp-login.php[QSA,L]
重写规则^postpass/?$wp login.php?操作=postpass[QSA,L]
重写规则^logout/?$wp login.php?操作=注销[QSA,L]
重写规则^lostpassword/?$wp login.php?操作=lostpassword[QSA,L]
重写规则^retrievepassword/?$wp login.php?操作=retrievepassword[QSA,L]
重写规则^resetpass/?$wp login.php?操作=resetpass[QSA,L]
重写规则^rp/?$wp login.php?操作=rp[QSA,L]
重写规则^register/?$wp login.php?操作=注册[QSA,L]
如您所见,我在index.php规则之后更改了规则的位置,工作正常,在任何其他位置,它都不会工作。您可以尝试在/backoffice/folder中使用own.htaccess
RewriteBase /backoffice/
# all the backofice rules
发布wp生成的所有.htaccess文件。根目录中的htaccess.subdir中的htaccess