0

如果我的网站上有 2000 个链接怎么办,我应该为每个链接编写 mod 重写规则吗?我只想要 1 条规则如果我使用内部重写规则来更改我的网页名称而不是重定向,看来我会有一个内容重复?例如,如果我将 /oldpage.html 重写为 /working-person.html,它会获得到 working-person.html 的内部重定向。这实际上有效。但是 oldpage.html 仍然是一个“直接”链接,并且不显示 301。

如果我在末尾添加 [R] 或 [R=301],服务器会抛出 500 错误:

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

另一方面...

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

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

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

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

4

2 回答 2

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,然后将上面的代码放在您的.htaccessDOCUMENT_ROOT目录中。

于 2013-08-05T16:25:56.397 回答
0

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

你不应该有重复的内容。

于 2013-08-05T15:46:46.987 回答