.htaccess 根更改为 mod_rewrite
.htaccess root changed with mod_rewrite
所以我正在尝试像这样重写 URL:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php?page= [QSA]
工作完美,但 JavaScript 和 CSS 的相对路径搞砸了。
下面的行不应该排除文件吗?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-f
确保现有文件不会被重写,因此 images/css/js 文件不会被路由到 index.php
.
但是您的问题似乎是 images/css/js 的相对路径的使用。确保在 css、js、图像文件中使用绝对路径而不是相对路径。这意味着您必须确保这些文件的路径以 http://
或斜杠 /
.
开头
否则您可以将此添加到页面 HTML 的 <head>
部分:
<base href="/" />
这样每个 亲戚 URL 都是从那个基础 URL 解析的,而不是从当前页面的 URL.
所以我正在尝试像这样重写 URL:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php?page= [QSA]
工作完美,但 JavaScript 和 CSS 的相对路径搞砸了。
下面的行不应该排除文件吗?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-f
确保现有文件不会被重写,因此 images/css/js 文件不会被路由到 index.php
.
但是您的问题似乎是 images/css/js 的相对路径的使用。确保在 css、js、图像文件中使用绝对路径而不是相对路径。这意味着您必须确保这些文件的路径以 http://
或斜杠 /
.
否则您可以将此添加到页面 HTML 的 <head>
部分:
<base href="/" />
这样每个 亲戚 URL 都是从那个基础 URL 解析的,而不是从当前页面的 URL.