我相信我的問題很獨特。我環顧四周,找不到答案。是否有301重定向指令可以捕獲所有的URL參數?
有網站管理員工具中的幾個報告顯示的網址,如果這種性質:
website.com/shop/?orderby=date
有代碼一個.htaccess線(S),將上面的URL重定向到
website.com/shop/
和重定向將是301?
謝謝
我相信我的問題很獨特。我環顧四周,找不到答案。是否有301重定向指令可以捕獲所有的URL參數?
有網站管理員工具中的幾個報告顯示的網址,如果這種性質:
website.com/shop/?orderby=date
有代碼一個.htaccess線(S),將上面的URL重定向到
website.com/shop/
和重定向將是301?
謝謝
這似乎是比較直接的。如果你只是想在查詢字符串搜索出「排序依據= VAL」,如果找到,重定向到基URI,試試這個:
RewriteBase/
RewriteCond %{QUERY_STRING} orderby=
RewriteRule ^(.*)$ $1? [R=301]
這裏假設你已經啓用重寫模塊中的主配置:
的LoadModule rewrite_module模塊/ mod_rewrite.so
更新:例2:
RewriteBase/
RewriteCond %{QUERY_STRING} orderby=
RewriteRule ^shop/ products? [R=301]
嗨布蘭登,事實上這比我想象的要複雜得多。是否有編輯你的代碼,我可以一次只做一個代碼?例如,我們找到了以下許多網址(不存在):/ shop /?orderby = date ---您能否顯示我的一段代碼,這些代碼只能處理該網址並將其重定向到「任何網頁」我喜歡?在這種情況下,它將被重定向(301)到website.com/products/ ---感謝布蘭登! – njames
是的,您可以修改RewriteRule的模式以更具辨別性,因此它只對特定的URI匹配起作用。/shop /並修改替代以重定向到任何您想要的URI。我已經用第二個例子更新了我的答案。有用的文檔:[RewriteRule](http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule)和[RewriteCond](http://httpd.apache.org/docs/2.2/mod/ mod_rewrite.html#rewritecond)和[RegEx](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Using_special_characters) –
@njames第二個示例對您有幫助嗎? –
根據您的標籤我會假設你USI ng Apache HTTPD。那是對的嗎? – Sean
關於這個問題,我看不出什麼「獨特的」。 //如果你想檢查查詢字符串的內容,那麼你必須使用'RewriteCond'來完成。 – CBroe
_「,如果它在任何子頁面上,它將重定向到它使用的URL」_ - 「的主子頁面,這一點需要澄清。你認爲什麼是「子頁面」,什麼是「主要子頁面」?你至少可以做的是展示一些從 - >到示例URL。 – CBroe