我刚碰到这个。我正在运行一个wordpress网站,我想将此www.dentistcostamesadds.com/index重定向到www.dentistcostamesadds.com。我的代码不起作用。
# Permanent URL redirects
RewriteEngine On
RewriteBase /
Redirect 301 /index http://www.dentistcostamesadds.com
如下所示,只有 / index 没有扩展程序不起作用。为什么呢?
Redirect 301 /index.php http://www.dentistcostamesadds.com WORKS
Redirect 301 /index.html http://www.dentistcostamesadds.com WORKS
Redirect 301 /index.aspx http://www.dentistcostamesadds.com WORKS
Redirect 301 /home http://www.dentistcostamesadds.com WORKS
Redirect 301 /home.html http://www.dentistcostamesadds.com WORKS
Redirect 301 /index http://www.dentistcostamesadds.com DOESN'T WORK
答案 0 :(得分:1)
这是因为Redirect
指令自动将URI的其余部分附加到目标。所以如果你只有:
Redirect 301 /abc http://domain.com/xyz
这意味着/abc1234
的请求将被重定向到http://domain.com/xyz1234
,/abc/foo/bar
会被重定向到http://domain.com/xyz/foo/bar
。因此,如果您想重定向所有这些内容,可以尝试使用正则表达式:
RedirectMatch 301 ^(index|home)(\.php|\.html|\.aspx)?$ http://www.dentistcostamesadds.com
答案 1 :(得分:0)
以下将解决这个问题:
RewriteEngine On
RewriteRule ^index?$ /
这表示将请求重定向到www。(...)/ index到www。(...)
www。(...)是域名。