首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >301直接从旧站点文件夹到新站点结构

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

Stack Overflow用户
提问于 2011-06-05 01:08:08
回答 3查看 119关注 0票数 0

提前谢谢。

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

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

新站点结构: www.domain.us/folder/file.php

注意新的TLD。我有大约20个文件夹,我想要重定向。有没有可能用一个文件就能做到这一点,或者我必须为从旧站点到新站点的每个单独的文件夹执行301操作?处理这个问题的最好方法是什么?

再次,提前感谢

EN

回答 3

Stack Overflow用户

发布于 2011-06-05 01:14:08

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

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^([^.]+)\.aspx$ $1.php [L]

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

票数 1
EN

Stack Overflow用户

发布于 2011-06-05 01:37:02

目录中的.htaccess文件优先于父目录中的任何.htaccess文件。因此,如果在每个子目录中都已经有了.htaccess文件,那么在根目录中放置一个.htaccess文件是没有意义的。

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

代码语言:javascript
复制
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文件

代码语言:javascript
复制
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移动到根目录的.htaccess。

票数 1
EN

Stack Overflow用户

发布于 2011-06-05 01:34:23

如果您使用301PHP header()重定向,那么恐怕只能一个接一个地完成。

但是如果您使用mod_rewrite来为您处理此问题,那么您可以查看以下相关源代码:http://www.gnc-web-creations.com/301-redirect.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6238171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档