2013-10-27 162 views
0

我正在尋找一些幫助,在我的htaccess文件中設置一些重定向規則。我轉工地上笨運行,基本上以.php結尾的所有頁面,現在只是有那個結局刪除,即www.mysite.com/foo/bar.php現在www.mysite.com/foo/barhtaccess多個301重定向

我試圖剛剛上市,像這樣的重定向:

Redirect 301 http://mysite.com/foo/bar.php http://mysite.com/foo/bar 
Redirect 301 http://mysite.com/foo/bar/bar.php http://mysite.com/foo/bar/bar 
Redirect 301 http://mysite.com/foo/bar/foo.php http://mysite.com/foo/bar/foo 

等(約需12條規則)。奇怪的是,它適用於第一條規則,但不適用於其他規則?我沒有正確列出它們嗎?我讀過的每一樣東西都告訴我這就是寫作的方式。那麼我做錯了什麼?

的附加信息可能是相關的:

我的htaccess文件中已經包含下面的代碼(從網址刪除「的index.php」):

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

不知道它的問題,如果這是在重寫之前還是之後?另外,有問題的網站是一個插件域。我不完全確定這些重寫是否應放置在主站點的公用文件夾中的.htaccess文件中,還是放在addon域的子目錄中? (我已經嘗試了兩個,結果相同)。

請幫忙!提前致謝。

+0

您是否嘗試打開服務器的日誌記錄功能 - 這將允許您查看「看到了什麼以及它如何解釋它」。 – Floris

+0

嗨,弗洛里斯,我可以通過cPanel訪問一些錯誤日誌。我現在可以看到一些錯誤已經被拋出。他們似乎採取格式:「htaccess:重定向需要兩個或三個參數,一個可選的狀態,然後文件重定向和目標網址」 – Inigo

回答

5

對不起,我剛剛解決了這個問題。我從每個規則中刪除了基本URL,現在它可以工作。即:

Redirect 301 /foo/bar.php /foo/bar 

相反的:

Redirect 301 http://mysite.com/foo/bar.php http://mysite.com/foo/bar 

不entrirely知道爲什麼...需要閱讀起來。

+1

快樂,你可以自己解決它。感謝您發佈解決方案。 – Floris