.htaccess重定向301-什么也没有发生

.htaccess重定向301-什么也没有发生,.htaccess,redirect,.htaccess,Redirect,我想301重定向几个旧的URL http://www.mysite.com/contact/old-page.php http://www.mysite.com/contact/another-old-page.php 对这个 http://www.mysite.com/contact/ 我很确定我的代码是正确的,因为我在其他网站上使用过,没有问题。我知道已启用重定向,因为非www到www重定向工作正常。但由于某些原因,这种一次性重定向不起作用;当我访问旧页面时,什么也没发生,好像我什么都没

我想301重定向几个旧的URL

http://www.mysite.com/contact/old-page.php
http://www.mysite.com/contact/another-old-page.php
对这个

http://www.mysite.com/contact/
我很确定我的代码是正确的,因为我在其他网站上使用过,没有问题。我知道已启用重定向,因为非www到www重定向工作正常。但由于某些原因,这种一次性重定向不起作用;当我访问旧页面时,什么也没发生,好像我什么都没做

以下是完整的.htaccess文件:

#Prevent viewing of htaccess
<Files .htaccess>
    order allow,deny
    deny from all
</Files>

#Enable symbolic links
Options +FollowSymLinks

RewriteEngine On

#Force www version of URL
RewriteCond %{HTTP_HOST} ^mysite\.com [NC]
RewriteRule (.*) http://www.mysite.com/$1 [R=301,L]

#This is the bit that isn't working
Redirect 301 /contact/old-page.php http://www.mysite.com/contact/
Redirect 301 /contact/another-old-page.php http://www.mysite.com/contact/

#Gzip
<ifmodule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/php text/plain text/xml text/css text/javascript application/javascript application/x-javascript
</ifmodule>

#Caching
<ifmodule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/gif "access 1 month"
    ExpiresByType image/png "access 1 month"
    ExpiresByType text/css "access 1 week"
    ExpiresByType text/javascript "access 1 month"
    ExpiresByType application/javascript "access 1 month"
    ExpiresByType application/x-javascript "access 1 month"
    ExpiresByType image/x-icon "access 1 month"
</ifmodule>
#阻止查看htaccess
命令允许,拒绝
全盘否定
#启用符号链接
选项+FollowSymLinks
重新启动发动机
#强制www版本的URL
重写cond%{HTTP_HOST}^mysite\.com[NC]
重写规则(.*)http://www.mysite.com/$1[R=301,L]
#这一点不起作用
重定向301/contact/old-page.phphttp://www.mysite.com/contact/
重定向301/contact/other-old-page.phphttp://www.mysite.com/contact/
#Gzip
AddOutputFilterByType DEFLATE text/text text/html text/php text/plain text/xml text/css text/javascript应用程序/javascript应用程序/x-javascript
#缓存
过期于
ExpiresByType image/gif“访问1个月”
ExpiresByType图像/png“访问1个月”
ExpiresByType文本/css“访问1周”
ExpiresByType文本/javascript“访问1个月”
ExpiresByType应用程序/javascript“访问1个月”
ExpiresByType应用程序/x-javascript“访问1个月”
ExpiresByType图像/x图标“访问1个月”

您的重定向看起来不错,但一个可能的冲突是您同时使用mod_别名(
Redirect
)和mod_rewrite(
RewriteRule
),URI通过两个模块,两个模块都可以处理它们,而不是彼此独立。有时这会导致意想不到的结果

尝试使用重写规则并删除
重定向
语句。尝试在“强制www”规则之前添加这两个重定向规则:


修好了,谢谢!虽然我仍然想知道为什么在其他网站上,同样的文件对我来说没有问题。编辑:我会在4分钟内把这个标记为正确的,当网站允许我。。。
RewriteRule ^contact/old-page\.php$ http://www.mysite.com/contact/ [L,R=301]
RewriteRule ^contact/another-old-page\.php$ http://www.mysite.com/contact/ [L,R=301]