使用 .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
如何解决这个问题呢?