WP正在忽略.htaccess重写的URL

时间:2013-11-19 作者:jezmck

我有两个来自同一个WP安装的域编辑:not 多站点

在里面wp-config.php 我有define(\'WP_SITEURL\', "http://$hostname/wordpress");

这两个域将具有相似的内容,但我们希望能够将它们放在相同的路径上,例如。domain1.com/about-usdomain2.com/about-us.

因此,我设置了这两个页面\\dom1\\about-us\\dom2\\about-us, 在我的.htaccess 我有:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} dom1 [NC]
RewriteRule ^((about\\-us|etc).*) /dom1/$1 [NC,QSA,L]

RewriteCond %{HTTP_HOST} dom2 [NC]
RewriteRule ^((about\\-us|etc).*) /dom2/$1 [NC,QSA,L]

RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我得到了上述URL的404个错误页面。我添加了print_r($_SERVER); 在我的404模板中,获得以下内容(简化输出)。

Array
(
[REQUEST_URI] => /about-us/
[REDIRECT_REDIRECT_STATUS] => 200
[REDIRECT_STATUS] => 200
[HTTP_HOST] => dom1.dev
[SERVER_NAME] => dom1.dev
[REDIRECT_URL] => /dom1/about-us/
[QUERY_STRING] => 
[SCRIPT_NAME] => /index.php
[PHP_SELF] => /index.php
...
)
这不意味着重写已经成功了,但WP没有使用它吗?

非常感谢。

1 个回复
SO网友:Otto

RewriteCond %{HTTP_HOST} dom1 [NC]
RewriteRule ^((about\\-us|etc).*) /dom1/$1 [NC,QSA,L]
您的重写规则包括L 参数,使其停止处理重写。所以WordPress的规则是重定向到索引。php可能永远不会生效。这意味着WordPress甚至没有在这里运行。404可能来自Web服务器,表示位于/dom1/about-us的文件不存在。

结束

相关推荐