在此先感谢。301从旧网站文件夹直接到新网站结构
我已经重做我的网站有新的文件夹结构
旧的网站结构: www.domain.com/folder/file.aspx
新的网站结构: www.domain.us/folder/ file.php
注意新的TLD。我有大约20个我想重定向的文件夹。是否可以用一个文件做到这一点,或者我必须为从旧网站到新网站的每个单独文件夹执行301操作吗?处理这个问题的最好方法是什么?
再次, 在此先感谢
在此先感谢。301从旧网站文件夹直接到新网站结构
我已经重做我的网站有新的文件夹结构
旧的网站结构: 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。
如果您使用301 PHP header()重定向,那么恐怕只能一个接一个地完成。
但是如果你使用mod_rewrite来处理这个给你,那么这是一个有关人士给你看看:http://www.gnc-web-creations.com/301-redirect.htm
在目录中的.htaccess文件优先于任何.htaccess文件父目录。因此,如果您的每个子目录中已经有.htaccess文件,那么将.htaccess文件放入根目录是没有意义的。
从您要重定向并更新根文件夹中的.htaccess文件的每个子目录中删除.htaccess文件。你可能需要把20个这样的重写规则。 请记住,从子目录中删除.htaccecss将删除您可能放在该文件夹上的所有限制。
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为最后一个规则来处理,如果比赛
OR
更新在每个目录要重定向.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移至root的.htaccess。
是否有任何结构发生了变化,您是否有任何现有的ReqriteRules?如果404在发送301之前被捕获,那么最好。 – Emyr 2011-06-04 17:33:48
你说文件夹结构已经改变了,但在你的例子中它们是相同的,只有TLD和扩展已经改变。你有具体的文件夹如何改变的例子吗?在这种情况下,如果没有更具体的例子,很难回答你的问题。 但是,您应该能够从根目录中的单个.htaccess文件完成所有操作,但它可能需要每个文件夹的一行。 – 2011-06-04 17:50:09