htaccess中的URL重写和301重定向无法正常工作

时间:2013-04-26 05:34:52

标签: .htaccess url-rewriting

我想制作一个现有的网站seo友好网址。我几乎在那里并重写所有链接。但是当谈到301将旧URL重定向到新的URL时,我陷入了困境。我在下面就是这样做的。

RewriteEngine On
RewriteRule ^video_gallery video_gallery.php
Redirect /video_gallery.php http://site.com/video_gallery

如上所示,我已将video_gallary.php重写为video_gallary,现在我想将http://site.com/video_gallery.php的所有请求重定向到http://site.com/video_gallery 但它现在正如上所述正常工作。请给我一点帮助。

谢谢

1 个答案:

答案 0 :(得分:1)

这将导致重定向循环。您需要匹配作为实际请求的%{THE_REQUEST}变量,而不是URI(在处理过程中会发生变化)。所以使用你的例子:

RewriteEngine On

RewriteRule ^video_gallery video_gallery.php

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /video_gallery\.php
RewriteRule ^ /video_gallery [L,R=301]