我有点麻烦,我已经在我的httacces上有这个代码,将停放的域名重定向到主域名上的自定义文件夹,如下所示:
RewriteCond %{HTTP_HOST} ^www.parked.com [OR]
RewriteCond %{HTTP_HOST} ^parked.com$
RewriteRule ^(.*)$ http://www.maindomain.com/custom_folder/ [R=301,L]
工作正常。
但是,我还需要将自定义文件夹/页面从托管域重定向到主域,如下所示:
www.parked.com/custom_folder - > www.maindomain.com/custom_folder/some_thing
我不能这样做。我尝试添加上面的代码,但所有内容都重定向到第一条规则:
RewriteCond %{HTTP_HOST} ^www.parked.com/some_thing[OR]
RewriteCond %{HTTP_HOST} ^parked.com/some_thing$
RewriteRule ^(.*)$ http://www.maindomain.com/custom_folder/some_thing [R=301,L]
有人能指出我正确的方向吗?感谢
答案 0 :(得分:1)
some_thing
不会成为%{HTTP_HOST}
的一部分。它是URL其余部分的一部分。所以你想要:
RewriteCond %{HTTP_HOST} ^www.parked.com$ [OR]
RewriteCond %{HTTP_HOST} ^parked.com$
RewriteRule ^/some_thing http://www.maindomain.com/custom_folder/some_thing [R=301,L]
此外:
确保问题中的第二个块(some_thing - &gt; custom_folder / some_thing)在<。em>第一个块(/ - &gt; custom_folder)之前来自.htaccess。否则第一次重写将生效,第二次重写将没有机会。
如上所述,您的第二个块有语法错误:
RewriteCond %{HTTP_HOST} ^www.parked.com/some_thing[OR]
在some_thing
和[OR]
之间缺少一个空格,这将打破这个条件,如果这真的是你的.htaccess文件中的内容。