301从旧站点文件夹直接到新站点结构


301 Direct from old site folders to new site structure

提前感谢。

我已经用新的文件夹结构重做了我的网站

旧址结构:www.domain.com/folder/file.aspx

新建场地结构:www.domain.us/folder/file.php

请注意新的TLD。我有大约20个文件夹,我想重定向。有可能用一个文件来做这件事吗?或者我必须为从旧网站到新网站的每个单独的文件夹做301吗?处理这个问题的最佳方法是什么?

再次,提前感谢

您应该使用mod_rewrite。将其放入FTP:的public_html文件夹中的.htaccess文件中

RewriteEngine On
RewriteRule ^([^.]+)'.aspx$ $1.php [L]

这应该确保当有人呼叫Banana.aspx时,他们可以看到Banana.php.

目录中的.htaccess文件的优先级高于父目录中的任何.htacccess文件。所以,如果每个子目录中都已经有.htaccess文件,那么在根目录中放一个.htacccess文件是没有意义的。

从您要重定向的每个子目录中删除.htaccess文件,并更新根文件夹中的.htacccess文件。你可能需要放20条这样的重写规则请记住,从子目录中删除.htacccess将删除您[可能]对该文件夹的所有限制

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www'.)?domain'.com
RewriteRule ^folder/file'.aspx$ http://domain.us/folder/file.php [R=301,NC,L]
RewriteRule ^folder2/file'.aspx$ http://domain.us/folder2/file.php [R=301,NC,L]

301表示永久重定向,NC表示无案例,L表示匹配时要处理的最后一条规则

更新每个要重定向的目录中的.htaccess文件

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www'.)?domain'.com
RewriteRule ^(.*)'.aspx$ http://domain.us/folder/$1.php [R=301,NC,L]
#the following might also do; just test it out
#RedirectPermanent (.*)'.aspx$ http://domain.us/folder/$1.php

所以,根据你的情况,你选择一个。我会选择选项一,这样所有重定向都在一个地方。您总是可以将限制从子目录的.htaccess移动到根目录的.htasccess.

如果使用301 PHP头()重定向,恐怕只能逐个执行。

但是,如果您使用mod_rewrite为您处理此问题,那么这是一个相关的来源供您查看:http://www.gnc-web-creations.com/301-redirect.htm