Php 如何重定向?
如果我的网站上有2000个链接,我应该为每个链接编写修改重写规则吗 我只想要一条规则 如果我使用内部重写规则来更改网页名称,而不是重定向,那么我的内容是否会重复?例如,如果我将/oldpage.html重写为/working-person.html,它会得到一个指向working-person.html的内部重定向。这确实有效。但是oldpage.html仍然是一个“直接”链接,并且不显示301 如果在末尾添加[R]或[R=301],服务器将抛出500错误:Php 如何重定向?,php,apache,mod-rewrite,url-rewriting,Php,Apache,Mod Rewrite,Url Rewriting,如果我的网站上有2000个链接,我应该为每个链接编写修改重写规则吗 我只想要一条规则 如果我使用内部重写规则来更改网页名称,而不是重定向,那么我的内容是否会重复?例如,如果我将/oldpage.html重写为/working-person.html,它会得到一个指向working-person.html的内部重定向。这确实有效。但是oldpage.html仍然是一个“直接”链接,并且不显示301 如果在末尾添加[R]或[R=301],服务器将抛出500错误: RewriteRule ^oldpa
RewriteRule ^oldpage.html$ working-person.html [R=301].
另一方面
Redirect 301 /oldpage.html http://www.example.com/working-person.html
…有效。我应该使用重定向吗
我想我读到了在使用其他指令时使用重写规则而不是重定向的地方。如果得到重复的内容,为什么要使用内部重写
谢谢你的任何想法/意见。你想使用
301
(永久移动以便搜索引擎(如谷歌)可以重新索引你的网站。一旦发生这种情况,你就不再需要重定向了
您不应该有重复的内容。您的这一行有语法错误:
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_重写规则来处理这些链接
确保通过httpd.conf
启用mod_rewrite和.htaccess,然后将上述代码放在文档根目录下的.htaccess
中