我希望我的网站从domain.com/page.php?id=1 转到domain.com/page/1
使用RewriteRule ^page/(.*)$ page.php?id=$1
.htaccess 文件中的内容在直接访问domain.com/live/1 时可以工作,但 CSS 却一团糟。
例如,代替 <link rel="stylesheet" href="style.css" type="text/css"/>
指向domain.com/style.css,它指向domain.com/page/style.css
我该如何解决这个问题? :( :(
编辑:我应该开始使用非相对链接(完整路径)吗?
完整的 .htaccess 是:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^page/(.*)$ page.php?id=$1
为了解决这个问题,我不得不输入 <base href="http://domain.com/directory/" />
在我的页面的头部。我必须为 JavaScript 文件创建绝对路径,因为不同的浏览器以不同的方式处理基本标记。
最佳答案
我也遇到过这个问题。这是因为您的浏览器现在假设/page/是根目录,它应该开始查找 css 文件等,简单地说:
<base href="/">
在你的
<head>.
您的浏览器现在将开始从网站的根目录查找 css 文件等。
编辑:nvm,格式困惑,因为从我的 iPod 发帖,但我看到您已经解决了问题:)
关于.htaccess - 使用 .htaccess 重写后我的链接变得困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853084/