htaccess mod重写与wordpress冲突



我正在为一个使用以下规则的项目使用htaccess文件:

RewriteEngine on
RewriteRule ^page/([^/.]+)/?$ page.php?page=$1 [L]
RewriteRule ^([^/.]+)/?/([^/.]+)/?$ page.php?theme=$1&pg=$2 [L]
RewriteRule ^([^/.]+)/?$ page.php?theme=$1&pg=$1 [L]
RewriteRule ^([^/.]+)/?/$ page.php?theme=$1&pg=$1 [L]

这有效地将CCD_ 1改变为CCD_。

我遇到的问题是,我还在这个项目上使用wordpress安装,安装在domain.com/blog下。

因此,访问domain.com/blog是对domain.com/page.php?theme=blog的重写,破坏了wordpress安装。

有没有一种方法可以设置重写规则的异常,以便domain.com/blog正确加载wp博客?

尝试按以下排除/blog的处理

RewriteEngine on
RewriteBase / 
#if its blog, do nothing
RewriteRule ^blog/  - [L,NC] 
#rest of your rules go here

在顶部添加底部

RewriteBase /

显而易见的答案是在这之后添加一个RewriteRule ^blog/ - [L]规则,但我不明白你的Q是Wordpress通常会在domain.com/theme/page0子目录中创建自己的优化.htaccess。仅凭DOCROOT .htaccess文件中的规则正在触发这一事实,告诉我这并不存在,因为如果它存在,那么将对/blog/*URI执行此操作。你看过WP htaccess Control插件吗?

最新更新