1
奇怪問題的位,但我希望在我的所有URL上設置查詢字符串。如果參數未設置(或爲空),那麼我想重定向以包含默認值。.htaccess中的默認查詢字符串
例如:
example.com would need to requrect to example.com?param=a
example.com?param would also need to redirect to example.com?param=a
如果參數是設定,已知值的列表的一部分,那麼它應該進行正常:
example.com?param=(a|b|c|d) would go to the respective page a,b,c or d
該網站使用的部分頁面其他參數進行排序和分頁,所以規則不能認爲這是唯一的查詢字符串。
我已經試過幾件事情,但一直得到堅持重定向循環。這是試圖設置默認PARAM:
RewriteCond %{QUERY_STRING} !(^|&)param=(a|b|c|d)($|&)
RewriteRule ^(.*)$ /index.php?rq=$1¶m=a [L,QSA]
主要CMS重寫規則是:
RewriteCond %{REQUEST_URI} !^\/*(index\.php|blog|admin\/assets|site\/assets|robots.txt|sitemap(|\-[0-9]+)\.xml|products.xml|favicon\.ico)
RewriteRule ^(.*)$ /index.php?rq=$1 [L,QSA]
任何幫助將是巨大的!
謝謝,這是幾乎沒有。我不得不改變的第一條規則讀 重寫規則^(。*)$ /index.php?rq=$1&%{QUERY_STRING}¶m=a [L] 如果未設置帕拉姆,我需要它來追加該到地址欄中的網址。這可能嗎? –
將[L]更改爲[L,R = 301](在測試過程中使用302)。 – Gerben
謝謝,這是添加參數,但我需要隱藏?rq =部分。基本上,我希望它重寫URL,但只是追加?/&param =部分。這甚至有可能嗎? –