我需要在 htaccess 中為具有引數 P 的 URL 設定 301 重定向。一個示例 URL
http://www.price4india.co.in/vivo-x20-plus-ud-price-in-india-scanner-feature-real.html?p=1028
是
http://www.price4india.co.in/vivo-x20-plus-ud-price-in-india-scanner-feature-real.html
重定向之后 .html 之后的所有內容都將被洗掉,并且 P=...... 之后的值可以是任何數值。到目前為止,我已經嘗試過以下查詢,但它不起作用。有什么建議請...
RewriteCond %{QUERY_STRING} ^p(&|$) [NC]
RewriteRule ^ %{REQUEST_URI}? [R=301,L]
uj5u.com熱心網友回復:
使用您顯示的示例,請嘗試以下 .htaccess 規則檔案。確保僅將 .html 檔案和 .htaccess 檔案保留在根路徑中。
確保在測驗 URL 之前清除瀏覽器快取。
RewriteEngine ON
RewriteCond %{THE_REQUEST} \s/(.*\.html)\?p=\d \s [NC]
RewriteRule ^ /%1? [R=301,L]
注意:如果您的 .htaccess 規則中有更多規則,其中包括 html 檔案的內部重寫,那么您可以將這些規則保留在這些規則之上。
uj5u.com熱心網友回復:
RewriteCond %{QUERY_STRING} ^p(&|$) [NC] RewriteRule ^ %{REQUEST_URI}? [R=301,L]
這幾乎是正確的,除了正則運算式^p(&|$)不正確。這匹配p&<anything>或p完全匹配。而您需要匹配p=<anything>(例如^p=)或p=<number>(例如^p=\d )。這當然是假設pURL 引數始終出現在 URL 路徑的開頭(如您的示例中所示)。
例如:
RewriteCond %{QUERY_STRING} ^p= [NC]
RewriteRule ^ %{REQUEST_URI}? [R=301,L]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/505678.html
上一篇:如何使用.htaccess檔案將舊URL(帶文章ID)重定向到新URL(不帶文章ID)?
下一篇:讀取之前插入的腳本
