2013-08-05 42 views
0

如果我在我的网站上有2000个链接,我应该为他们每个人编写mod重写规则 我只需要1个规则 如果我使用内部重写规则来更改我的网页名称而不是重定向,我会有内容重复?例如,如果我将/oldpage.html重写为/working-person.html,则会将其重定向到working-person.html。这实际上起作用。但仍是oldpage.html“直接”连接,并没有显示出301如何重定向?

服务器抛出一个500错误如果我添加[R]或[R = 301]底:

RewriteRule ^oldpage.html$ working-person.html [R=301]. 

在另一方面...

Redirect 301 /oldpage.html http://www.example.com/working-person.html 

...作品。我应该只使用重定向吗?

我以为我读了某处使用rewriterule而不是重定向时使用其他指令。如果您获得重复的内容,为什么要使用内部重写?

感谢您的任何想法/意见。

回答

0

你想使用301(移动永久),所以搜索引擎(如谷歌)可以重新索引您的网站。一旦发生这种情况,你不再需要重定向。

你不应该有重复的内容。

1

这行你有一个语法错误:

RewriteRule ^oldpage.html$ working-person.html [R=301]. 

到底有一个点造成500内部错误。

修改成:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^oldpage\.html$ /working-person.html [R=301,L,NC] 

如果你有2000余链接然后提供的新老联系了一些样本,这样我可以建议是否可以通过一些mod_rewrite的规则或处理不。

确保mod_rewrite和.htaccess通过httpd.conf启用,然后将上面的代码放入您的.htaccess目录下的DOCUMENT_ROOT目录中。