2017-09-07 25 views
0

我使用下面的代碼在我的網站重定向 -htaccess的reqrite重定向衝突

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ http://mywebsite.com/$4 

它工作正常,但它並沒有自定義URL參數傳遞到新的URL。因此.com/?abc之後的任何內容都只會轉化爲.com/,並導致跟蹤錯誤。

我嘗試使用[QSA],但它導致在.htaccess我認爲的重定向重寫衝突。什麼可能是一個可能的出路?

.htaccess其他代碼包括:

BEGIN W3TC Browser Cache 
<IfModule mod_mime.c> 

BEGIN WordPress 
<IfModule mod_rewrite.c> 

回答

0

嘗試更換您的RedirectMatch這個:

RewriteEngine On 
RewriteRule ^[0-9]{4}/[0-9]{2}/[0-9]{2}/(.*) http://mywebsite.com/$1 [L,R=301,QSA] 

例如:301S http://mywebsite.com/1234/12/12/test?foo=barhttp://mywebsite.com/test?foo=bar

演示在這裏:http://htaccess.mwl.be?share=ce6d907e-3559-5caf-8841-8f218d54f367

+0

試過香蕉蘋果,但mywebsite.com/?foo-bar仍然返回mywebsite.com/。我在網站上嘗試了這個,因爲演示鏈接在嘗試代碼時出現錯誤 – pshah

+0

嗯,看起來網站上的共享功能已損壞,但您仍然可以通過手動複製粘貼位。無論如何,上述應該工作,如果它不表明有其他干擾。你可以嘗試的一件事就是把它放在最頂端,這樣它就會被首先處理。 – Bananaapple

+0

它已經在頂部,所以其他東西必須與此代碼干涉。將繼續嘗試。非常感謝嘗試,但:) – pshah

0

所以我的問題終於解決了。看起來手動設置的規則,w3total緩存和/或yoast插件之間存在衝突。禁用/刪除它們解決了這個問題。