我正在使用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]
有效地将domain.com/theme/page
更改为domain.com/page.php?theme=theme&pg=page
。
我遇到的问题是我在这个项目中使用了wordpress安装,安装在domain.com/blog
下。
所以,访问domain.com/blog
正在重写domain.com/page.php?theme=blog
并打破wordpress安装。
有没有办法可以为重写规则设置一个例外,以便domain.com/blog
正确加载wp博客?
答案 0 :(得分:0)
尝试排除/blog
处理如下
RewriteEngine on
RewriteBase /
#if its blog, do nothing
RewriteRule ^blog/ - [L,NC]
#rest of your rules go here
答案 1 :(得分:0)
在顶部添加基础
RewriteBase /
显而易见的答案只是在此之后添加RewriteRule ^blog/ - [L]
规则,但我对你的Q不了解的是,Wordpress通常会在{{{{{{} {{}}中创建它自己的优化.htaccess
1}}子目录。只是因为你的DOCROOT /blog
文件中的规则被触发告诉我这不存在,因为如果它确实存在,那么这将被执行而不是/ blog / * URIs。你看过WP htaccess Control插件了吗?