2013-04-10 101 views
0

我有以下重写规则,它将krmmalik.com引导到krmmalik.com/me 我如何确保此规则是301重定向,如果它不是一个,我怎么能把它变成一个?确保我的重写规则是301重定向

我已经使用混合并从该网站

http://www.webweaver.nu/html-tips/web-redirection.shtml

,以及谷歌的支持文章相匹配的提示和现有的SO问题,但没有多少运气尝试。注意到重写规则本身到目前为止一直工作正常。

我也在我的DNS文件中将“www”的CNAME添加到“krmmalik.com”。这足够好,还是我需要为此添加特定的301重定向?

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?krmmalik.com$ 
RewriteRule ^(/)?$ me [L] 

回答

1

尝试以下操作:

RewriteRule ^/?$ /me [L,R=permanent] 

R=permanent标志指令301个状态重定向(您可以使用R=301如果你喜欢,但我认为,“永久”更具可读性)。

/me目标URL的开头处加上正斜杠将告诉Apache将用户重定向到Web服务器公共根目录下名为“me”的目录。所以在你的情况下,它应该将用户重定向到krmmalik.com/me(或www.krmmalik.com/me)。

此外,您不需要将匹配模式包含在圆括号中,因为您不需要捕获斜线以供以后使用。所以^/?$将会很好的工作。

+0

好的,所以krmmalik.com重定向现在工作正常。谢谢。 但是,“www”重定向仍然失败。我不太了解你的最后一条指令,因此可能是它失败的原因。请注意,我有一个CNAME设置为“www”,无论如何指向krmmalik.com。不知道这是如何影响这个或SEO。 有什么想法吗? – 2013-04-11 15:04:23

+0

要配置您的Apache主机强制用户访问www.krmmalik.com,请查看[此ServerFault问题](http://serverfault.com/questions/446/how-can-i-enforce-that-my-urls -always-start-with-www),它讨论了所需的Apache配置。 – Bobulous 2013-04-11 16:27:10