服务器是apache,不是我知道这意味着什么。
需要/注释:
以下是示例代码:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newsite.com/$1 [R=301,L]
redirect 301 /index.html http://www.newsite.com/index.htm
redirect 301 /pagetwo.html http://www.newsite.com/pagetwo.htm
redirect 301 /pagethree.html http://www.newsite.com/thishasanewname.htm
目前,当类型仅为www时,这适用于主页,但就是这样。任何人都可以告诉我如何实现我的所有目标:
总结一下,我需要将所有流量从旧网站重定向到html文件名并不总是匹配的新网站,我已经开始使用.htm扩展,其中旧网站使用.html,我需要访问两个www。和非www版旧网站重定向到新网站的www版。
请帮帮我一个人 - 我不是编码员,这对我来说真的很难
道格
答案 0 :(得分:1)
将上面.htaccess中的规则替换为以下规则。
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
#1 Redirect home page old->new
RewriteCond %{HTTP_HOST} oldsite\.com$ [NC]
#send home page from old to new
RewriteRule ^$ http://www.newsite.com [L,R=301]
#2 place redirects here that do not have exact equivalents on newsite
#3 section
RewriteCond %{HTTP_HOST} oldsite\.com$ [NC]
#send requests for html to htm (assuming everything else is the same)
RewriteCond %{REQUEST_URI} ^(.+\.htm)l[NC]
RewriteRule ^ http://www.newsite.com%1 [L,R=301]
第1节会将旧网站的主页重定向到新网站的主页。
第3节会将http://oldsite.com/anypage.html
重定向到http://newsite.com/anypage.htm
第2节 如果文件在新网站上没有确切的等效文件(减去.html - > .htm),如#3,则在#2之前放置,例如
Redirect 301 /pagethree.html http://www.newsite.com/thishasanewname.htm