2015-09-30 105 views
2

我知道這個問題已經在這裏的其他地方問過,但這些線程中的解決方案並沒有爲我工作。我想從301我的所有網站的URL重新刪除尾部的斜槓,但我需要這個規則不適用於我的結帳頁面(https://example.com/checkout/onepage/),這是一個Ajax的事情,你可以通過3個步驟完成所有結帳過程在一個URL上。該網址(https://example.com/checkout/onepage/)是我們在網站上唯一使用https網址的時間,我想知道這是否是問題的一部分。htaccess規則除去一個目錄中的尾部斜槓

重寫規則我沒有刪除我的尾隨斜線,但不允許我通過結帳過程前進。點擊「下一步」按鈕什麼也不做,並最終超時。

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/checkout/$ 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

我該如何解決我的規則?

+0

_https網站上的網址,我想知道這是否是問題的一部分._您對https虛擬主機有'AllowOverride All'嗎?您通常有兩個虛擬主機,一個用於80,另一個用於443. –

回答

2

試試這個規則:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/checkout/ 
RewriteRule ^(.+?)/$ /$1 [L,R=301] 

和清除瀏覽器緩存後對其進行測試。

+0

否...結帳過程仍然不適用該規則。 – user2930880

+0

我無法測試您的結帳流程。我只能測試這個規則,這對我的Apache很好。如果您編輯問題並提供完整的.htaccess,則會更好。 – anubhava