2014-01-09 62 views
0

我想301重定向一對夫婦舊網址的.htaccess重定向301 - 沒有任何反應

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> 

回答

0

您重定向看起來不錯,但有可能發生的衝突是,你正在使用mod_alias中(Redirect)和mod_rewrite的(RewriteRule)一起和URI通過這兩個模塊並且兩個模塊都可以處理它們,而不是彼此獨立。有時這會導致意想不到的結果。

嘗試使用重寫規則並刪除Redirect語句。嘗試添加這兩種重定向規則以前你的「力www」的規則:

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] 
+0

問題解決了,謝謝!雖然我仍然想知道爲什麼那個完全相同的文件在我的網站上沒有任何問題,對我來說很合適編輯:我會標記爲正確的4分鐘,當網站讓我... – user2799602