.htaccess 影响 URL 但不影响本地数据,没有 RewriteEngine
.htaccess afflict URL but not local data, without RewriteEngine
我有以下问题:
如果我在第 example.com/foo/bar
页打开我的网站,每个样式表都是这样加载的:
来源:
<link href="css/style.css" rel="stylesheet" type="text/css">
但是我的服务器像这样加载这个文件:foo/css/style.css
现在我想改变我的 .htaccess
RewriteEngine
这不会发生, 但是 我 不想 使用RewriteRule
阻止 /css/
改变 URL
!
我的.htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?urlparam= [NC,L]
提前致谢;)
当您导航到 example.com/foo/bar
时,它被解释为目录 /foo
中的资源 bar
。您的标记包括 css/style.css
,并且由于它不包含前导 /
,这意味着 css
文件夹是相对于当前路径(即 /foo
)的。这就是您看到这种行为的原因。
您的重写规则与正在发生的事情无关。如果您导航到 example.com/foo/bar/
(尾随 /
),那么它将请求 example.com/foo/bar/css/style.css
.
您在 css、js、图像文件中使用的是相对路径,而不是绝对路径。
您可以在页面 HTML 的 <head>
部分下方添加此内容:
<base href="/" />
这样每个 亲戚 URL 都是从那个基础 URL 解析的,而不是从当前页面的 URL.
我有以下问题:
如果我在第 example.com/foo/bar
页打开我的网站,每个样式表都是这样加载的:
来源:
<link href="css/style.css" rel="stylesheet" type="text/css">
但是我的服务器像这样加载这个文件:foo/css/style.css
现在我想改变我的 .htaccess
RewriteEngine
这不会发生, 但是 我 不想 使用RewriteRule
阻止 /css/
改变 URL
!
我的.htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?urlparam= [NC,L]
提前致谢;)
当您导航到 example.com/foo/bar
时,它被解释为目录 /foo
中的资源 bar
。您的标记包括 css/style.css
,并且由于它不包含前导 /
,这意味着 css
文件夹是相对于当前路径(即 /foo
)的。这就是您看到这种行为的原因。
您的重写规则与正在发生的事情无关。如果您导航到 example.com/foo/bar/
(尾随 /
),那么它将请求 example.com/foo/bar/css/style.css
.
您在 css、js、图像文件中使用的是相对路径,而不是绝对路径。
您可以在页面 HTML 的 <head>
部分下方添加此内容:
<base href="/" />
这样每个 亲戚 URL 都是从那个基础 URL 解析的,而不是从当前页面的 URL.