.htaccess を使用して、次のように URL を書き換えています。
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} !(^|&)lang=[a-z]{2}(&|$) [NC]
RewriteCond %{REQUEST_URI} !^/(en|it) [NC]
RewriteRule ^(?:[a-z]{2}/)?(.*)$ /en/$1 [L,NC,R]
RewriteRule ^([a-z]{2})/(.*)$ /index.php?lang=$1&page=$2 [L,NC,QSA]
この条件に従うために:
http://website.com -> http://website.com/en
http://website.com/en -> http://website.com/en
http://website.com/it -> http://website.com/it
http://website.com/de -> http://website.com/en
詳細については、このスレッドを参照してください。
問題は、いくつかのアセットにアクセスする必要がある場合です。たとえば、css/styles.cssをロードする必要があります。
ベースを追加して絶対パスを与えるようにベースの場所を変更しようとしました:
<base href="http://website.com/">
または、次のように入力して相対パスを設定します。
../css/styles.css
ブラウザは正しい方法でファイルを要求します。
Request URL:http://website.com/css/styles.css
Status Code:302 Found
しかし、私はファイルを取得せず、応答ヘッダーは次のとおりです。
Location:http://website.com/en/css/styles.css
この問題を解決するには?