.htaccess重定向301-什么也没有发生
我想301重定向几个旧的URL.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重定向工作正常。但由于某些原因,这种一次性重定向不起作用;当我访问旧页面时,什么也没发生,好像我什么都没
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]