當我輸入我的example.comurl 時,我想重定向到,example.com/en/但是當我輸入時,example.com/demo我想重定向到example.com/us/demo. 這里的 demo 這個詞是可變的。我怎樣才能做到這一點 ?
我的 .htaccess 代碼:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /tr/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /tr/index.php [L]
</IfModule>
uj5u.com熱心網友回復:
在現有指令之前嘗試以下操作(即在該<IfModule>部分之前):
# Redirect "/" to "/en/"
RewriteRule ^$ /en/ [R,L]
# Redirect "/demo" to "/us/demo"
RewriteCond %{REQUEST_URI} !^/(en|us)/
RewriteRule (.*) /us/$1 [R,L]
第一條規則重定向example.com/到example.comn/en/. 第二條規則將其他所有內容重定向到/us/<url>,前提是 URL-path 尚未啟動/en/或/us/.
如果您還需要對靜態資產進行例外處理...例如。/assets/images/img.png是否也應該重定向請求?然后在第二條規則中包含一個附加條件(作為第二個條件):
# Redirect "/demo" to "/us/demo" (and exclude static assets)
RewriteCond %{REQUEST_URI} !^/(en|us)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /us/$1 [R,L]
請注意,這些是 302(臨時)重定向。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/510594.html
