我想使用htaccess将某些页面重定向到另一个域中的等效页面,其他页面重定向到主页。
就像那样:
http://old-domain.com/certain-page
重定向到:http://new-domain.com/certain-page
http://old-domain.com/another-certain-page
重定向到:http://new-domain.com/another-certain-page
只会重定向这些网页,否则必须将网页重定向到新域主页。
http://old-domain.com/non-certain-page
重定向到:http://new-domain.com
这是我的尝试:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^certain-page$ http://new-domain.com/certain-page [R=301,L]
RewriteRule ^another-certain-page$ http://new-domain.com/another-certain-page [R=301,L]
</IfModule>
但不知道如何排除其他网页。
这里有任何帮助吗?
提前致谢!
答案 0 :(得分:3)
我不确定你的意思
但不知道如何排除其他页面
但是,当您为它们创建特定规则时,您已经排除了这些页面。这应该工作。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#redirect specific pages
RewriteRule ^certain-page$ http://new-domain.com/certain-page [R=301,L]
RewriteRule ^another-certain-page$ http://new-domain.com/another-certain-page [R=301,L]
#Redirect everything else to homepage
RewriteRule ^(.*)$ http://new-domain.com/ [R=301,L]
</IfModule>
让我知道这对你有什么用。如果您在尝试这些新规则之前需要清除缓存。
答案 1 :(得分:0)
使用redirect
而无需使用Rewrite
:
RedirectMatch 301 ^/.+ http://www.newdomain.com/
所以,答案也可以是:
#Redirect specific pages
redirect 301 /certain-page http://new-domain.com/certain-page
redirect 301 /another-certain-page http://new-domain.com/another-certain-page
#Redirect everything else to homepage
RedirectMatch 301 ^/.+ http://new-domain.com