首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >站点迁移后用.htaccess重定向质量301

问站点迁移后用.htaccess重定向质量301
EN

Stack Overflow用户
提问于 2011-09-09 11:16:40
回答 2查看 843关注 0票数 0

我有一个网站,很久以前创建使用简单的asp。这是酒店的地盘。它包含列表类型页面和单独的酒店页面。目前,我的站点托管在一个也支持PHP的Windows服务器上(但显然不支持.htaccess )。几个月前,我开始使用php/mysql对整个站点进行重新编码。

首先,我创建了新的列表类型的页面,我做了必要的301重定向在我的主机控制面板,以保持良好的搜索引擎排名。在过去的几个月里,这些页面已经被Google很好的索引了,所以它们都很好。

现在,我准备好重新编码其余的酒店页面(大约。,现在我想将整个站点迁移到支持.htaccess的Apache服务器上。

酒店网页有两种语言版本,英文和德文。

旧的英文ASP酒店页面位于www.mysite.com/hotel/hotel-name.asp中,我希望将它们重定向到www.mysite.com/hotel/hotel-name.php,,因此在本例中,只有文件扩展名从.asp更改为.php。

旧的德国ASP酒店页面位于www.mysite.com/hotel/deutsch/hotel-name.asp中,我希望将它们重定向到www.mysite.com/hotel/hotel-name.de.php,,因此在本例中,不仅文件扩展名从.asp更改为.php,而且文件名和路径也会更改。

我的问题是:如何使用.htaccess进行必要的大规模重定向?

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2011-09-09 11:41:57

这应该能起作用:

代码语言:javascript
复制
RewriteRule /hotel/deutsch/(.+?)\.asp /hotel/$1.de.php [R=301,L]
RewriteRule /hotel/(.+?)\.asp /hotel/$1.php [R=301,L]

编辑:对不起,我错过了德语页面是*.de.php。我更新了答案,以便对英语和德语页面使用单独的重写。

票数 0
EN

Stack Overflow用户

发布于 2011-09-09 11:49:31

这将起作用:

代码语言:javascript
复制
RewriteEngine On

# redirect German version
RewriteRule ^hotel/deutsch/(.+)\.asp$ http://www.mysite.com/hotel/$1.de.php [R=301,L]

# redirect English version
RewriteRule ^hotel/(.+)\.asp$ http://www.mysite.com/hotel/$1.php [R=301,L]

规则的顺序在这里很重要。首先,我们匹配德文版本,然后才是英语页面(因为英文页面的URL模式更广泛,而且还将匹配德语URL,这最终会导致错误的重定向)。

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

https://stackoverflow.com/questions/7360832

复制
相关文章

相似问题

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