到目前為止,我一直只使用以下代碼htaccess進行重寫?action:
RewriteCond %{QUERY_STRING} ^action=([^&\s] )$
RewriteRule ^(?:index\.php|)$ /%1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\s\/] )/?$ index.php?action=$1&r [L,QSA]
現在我潛入了一個多語言網站,我想檢測用戶的瀏覽器語言,并根據這些資訊將他重定向到他的語言版本
并重寫這個:
index.php?lang=en&action=subpage
進入
en/subpage
uj5u.com熱心網友回復:
您可以在站點根目錄 .htaccess 中設定這樣的規則:
RewriteEngine On
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /(?:index\.php)?\?lang=([^\s&] )&action=([^\s&] )\s [NC]
RewriteRule ^ /%1/%2? [R=301,L,NE]
# add default language prefix
RewriteCond %{HTTP:Accept-Language} ^([a-z]{2})- [NC]
RewriteRule ^(?![a-z]{2}/)[^/]*/?$ /%1%{REQUEST_URI} [L,R=301,NE]
# internal forward from pretty URL to actual one
RewriteRule ^([a-z] )/([\w-] )/?$ index.php?lang=$1&action=$2 [L,QSA,NC]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/380235.html
