如何解决Wordpress多站点重写规则
| 我正在启用多站点的情况下运行Wordpress 3.1。我有多个网站都在Web根目录中共享相同的.htaccess文件。我正在使用RewriteCond定位特定的网站,并将RewriteRules应用于每个网站。不幸的是,它没有按预期工作。这是我的.htaccess文件中的内容:RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
# Blog1 Rewrite Rules which should only apply to blog1.mydomain.com
RewriteCond %{HTTP_HOST} ^blog1\\.mydomain\\.com [nc]
RewriteRule ^fileabc\\.jpg$ http://blog1.mydomain.com/files/2011/05/fileabc.jpg [R=301,NC,L]
RewriteRule ^filexyz\\.pdf$ http://blog1.mydomain.com/wp-content/themes/blog1Theme/Files/filexyz.pdf [R=301,L]
# Blog2 Rewrite Riles which should only apply to blog2.com
RewriteCond %{HTTP_HOST} ^Blog2\\.com [nc]
RewriteRule ^index\\.html$ http://Blog2.com/index.php [R=301,L]
RewriteRule ^page\\.html$ http://Blog2.com/page/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
我使用RewriteCond定位到特定站点(blog1.mydomain.com或blog2.com),并且每个站点都有特定的RewriteRules。
但是,ReWriteRules已应用于两个网站(blog1.mydomain.com和blog2.com)。
例如:
访问blog1.mydomain.com/fileabc.jpg应该重定向到http://blog1.mydomain.com/files/2011/05/fileabc.jpg
但是,访问Blog2.com/fileabc.jpg也会重定向到http://blog1.mydomain.com/files/2011/05/fileabc.jpg
因此,将RewriteRules应用于两个(所有)站点,而不仅仅是RewriteCond指定的站点。
非常感谢帮助!
解决方法
从Apache页面
规则集中规则的顺序为
重要,因为重写引擎
以特定方式处理它们(不是
总是很明显)的命令,如下所示:
通过重写引擎循环
规则集(组成的每个规则集
的RewriteRule指令,带有或
没有RewriteConds),请按规则进行。
当特定规则匹配时,
mod_rewrite还会检查
对应条件(RewriteCond
指令)。由于历史原因
首先给出条件
控制流一点点
冗长。
首先将网址与
规则模式。如果没有
匹配,mod_rewrite立即停止
处理该规则,然后继续
下一条规则。如果模式匹配,
mod_rewrite检查规则
条件。如果不存在,则
网址将被替换为新网址
字符串,由
替换字符串和mod_rewrite
继续下一条规则。
现在你的规则
RewriteCond %{HTTP_HOST} ^blog1\\.mydomain\\.com [nc]
RewriteRule ^fileabc\\.jpg$ http://blog1.mydomain.com/files/2011/05/fileabc.jpg [R=301,NC,L]
RewriteRule ^filexyz\\.pdf$ http://blog1.mydomain.com/wp-content/themes/blog1Theme/Files/filexyz.pdf [R=301,L]
RewriteCond仅对紧随其后的第一个rewriteRule有效,而不对它下面的所有规则有效。因此第二个rewriteRule将匹配任何域。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。