我有两个域名,cshen.ca和cshen.net,都指向同一个地方。
我正在尝试使用mod_rewrite完成以下操作:
我尝试了各种各样的规则,但似乎无法让它发挥作用。
RewriteCond %{HTTP_HOST} ^cshen\.net$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://cshen.ca/$1 [R=301,L]
这可以完成前两个规则,但会将所有内容重定向回主页,而不会保留其余的URL。
RewriteCond %{HTTP_HOST} ^cshen\.net$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^/(.*)$ http://cshen.ca/$1 [R=301,L]
进行一些小改动并在RewriteRule中添加斜杠'/'会保留URL的其余部分,但只会重定向 www.cshen.ca 。 cshen.net 和 www.cshen.net 都不会被重定向到任何地方。
我也试过Apache's guide并使用了这段代码:
RewriteCond %{HTTP_HOST} !^cshen\.ca [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://cshen.ca/$1 [L,R]
我认为这样可行,因为它应该重定向任何 cshen.ca 的网址,但是,就像第二段代码一样,它不会对 cshen.net 或 www.cshen.net 。
我刚刚用尽其他事情的想法。如果有人可以提供帮助,我将不胜感激!
附录:如果重要,我正在使用WordPress的漂亮网址,其重写规则是:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我已经尝试在WordPress规则之前和之后设置我的规则(当我在我的规则之前添加 RewriteEngine On 之前把它放在我的规则之前),没有任何区别。< / p>
谢谢!
答案 0 :(得分:0)
不知道如何编辑,通过在WP的
之前放置来自apache的代码来解决一定忘了早点测试一下。