你能幫我重定向嗎
https://example.com/dev/kampaaniad/?lang=ru
到
https://example.com/dev/ru/kampaaniad/
更新: .htaccess代碼:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^lang=ru$
RewriteRule ^dev/kampaaniad/$ /dev/ru/kampaaniad/ [QSD,R=302,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /dev/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /dev/index.php [L]
</IfModule>
# END WordPress
uj5u.com熱心網友回復:
試試以下,使用mod_rewrite,在上面你的.htaccess檔案在檔案根目錄:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^lang=ru$
RewriteRule ^dev/kampaaniad/$ /dev/ru/kampaaniad/ [QSD,R=302,L]
該RewriteRule 模式(即^dev/kampaaniad/$)僅針對URL路徑,這就是為什么我們需要一個單獨的匹配條件(RewriteCond指令)來匹配查詢字串。
QSD從請求中洗掉原始查詢字串需要該標志。
或者,使用反向參考來避免替換字串中的重復:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^lang=(ru)$
RewriteRule ^(dev)/(kampaaniad/)$ /$1/%1/$2 [QSD,R=302,L]
替換字串中的$1和$2反向參考包含從模式中捕獲的子組(即和分別)。所述反向參考包含從前述捕獲的組CondPattern。RewriteRule devkampaaniad/%1ru
如果lang查詢字串中的URL 引數值是可變的RewriteCond,則將最后一個示例中的指令修改為:
RewriteCond %{QUERY_STRING} ^lang=([a-z]{2})$
:
匹配任何 2 個字符的語言代碼。
參考:
- https://httpd.apache.org/docs/current/rewrite/
- https://httpd.apache.org/docs/current/rewrite/intro.html
- https://httpd.apache.org/docs/current/mod/mod_rewrite.html
更新:
...重定向不起作用
從更新問題中完整.htaccess檔案的外觀來看,您的檔案可能在子目錄中?使用上面的指令,我自然地假設您會將檔案放在檔案根(父)目錄中。.htaccess/dev.htaccess
如果.htaccess檔案位于/dev/.htaccessand not/.htaccess那么你需要修改上面使用的正則運算式RewriteRule,如下所示:
RewriteCond %{QUERY_STRING} ^lang=ru$
RewriteRule ^kampaaniad/$ /dev/ru/kampaaniad/ [QSD,R=302,L]
該RewriteRule 模式匹配相對于檔案所在目錄的 URL 路徑.htaccess。因此,當檔案在子目錄中時^kampaaniad/$匹配 URL 。/dev/kampaaniad/.htaccess/dev
您不需要<IfModule>圍繞這些指令的包裝器,也不需要重復RewriteEngine指令,因為這已經發生在 WordPress 代碼塊中。
要利用RewriteBase /dev/檔案中稍后定義的指令,您可以洗掉替換字串上的路徑前綴,例如:
:
RewriteRule ^kampaaniad/$ ru/kampaaniad/ [QSD,R=302,L]
And consequently, you can also remove the path prefix from the later rewrite:
:
RewriteRule . index.php [L]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/322380.html
上一篇:如果index.html不存在于沒有尾部斜杠的目錄中,則提供index.php
下一篇:將通用頁面重定向到特定
