首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >301 htaccess中的重定向正在将旧文件名附加到新url

301 htaccess中的重定向正在将旧文件名附加到新url
EN

Stack Overflow用户
提问于 2013-04-24 06:32:19
回答 1查看 6K关注 0票数 2

我在htaccess文件中使用301重定向规则将一些旧的urls重定向到新的urls。然而,在一些重定向中,旧的文件名被附加到新的url上,所以我在这些页面上得到了404个页面错误。

例如,这是我的重写规则

代码语言:javascript
复制
Redirect 301 /mtrx/motion-control/ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer

但是显示的页面是

代码语言:javascript
复制
http://www.zerolinegolf.com/golf-mtrx-for-the-golfermotion-control

这是完整的.htaccess代码

代码语言:javascript
复制
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

#REDIRECTS

Redirect 301 /videos/ http://www.zerolinegolf.com/videos-2
Redirect 301 /press-releases-2/ http://www.zerolinegolf.com/media
Redirect 301 /mtrx/motion-control/ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer
Redirect 301 /mtrx/pelvis-power/ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer
Redirect 301 /mtrx/mtrx-score/ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer
Redirect 301 /mtrx/recommended-drills/ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer
Redirect 301 /mtrx/ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-24 06:48:34

看起来mod_alias和mod_rewrite可能是互相干扰的,也可能是他们自己。

请记住,Redirect指令将两个路径节点链接在一起。所以,如果你有,就说:

代码语言:javascript
复制
Redirect 301 /mtrx/ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer

该语句还接受:/mtrx/foo/bar/并将其重定向到http://www.zerolinegolf.com/golf-mtrx-for-the-golferfoo/bar/

您应该切换到使用RedirectMatchRewriteRule

对于前者:

代码语言:javascript
复制
RedirectMatch 301 ^/videos/?$ http://www.zerolinegolf.com/videos-2
RedirectMatch 301 ^/press-releases-2/?$ http://www.zerolinegolf.com/media
RedirectMatch 301 ^/mtrx/motion-control/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer
RedirectMatch 301 ^/mtrx/pelvis-power/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer
RedirectMatch 301 ^/mtrx/mtrx-score/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer
RedirectMatch 301 ^/mtrx/recommended-drills/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer
RedirectMatch 301 ^/mtrx/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer

对于mod_rewrite,必须将这些规则放在wordpress规则之前。

代码语言:javascript
复制
RewriteRule ^/?videos/?$ http://www.zerolinegolf.com/videos-2 [L,R=301]
RewriteRule ^/?press-releases-2/?$ http://www.zerolinegolf.com/media [L,R=301]
RewriteRule ^/?mtrx/motion-control/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer [L,R=301]
RewriteRule ^/?mtrx/pelvis-power/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer [L,R=301]
RewriteRule ^/?mtrx/mtrx-score/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer [L,R=301]
RewriteRule ^/?mtrx/recommended-drills/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer [L,R=301]
RewriteRule ^/?mtrx/?$ http://www.zerolinegolf.com/golf-mtrx-for-the-golfer [L,R=301]
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16180278

复制
相关文章

相似问题

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