.htaccess - 使用 .htaccess 重写后我的链接变得困惑

标签 .htaccess url-rewriting

我希望我的网站从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/

相关文章:

.htaccess 在 Apache EC2 Linux 服务器中不起作用

.htaccess - 从子目录加载新站点作为索引

java - 有人在生产中使用 URL 重写吗?

.htaccess - nginX 中的 URL 重写

regex - htaccess - 包含特定字符串部分的重定向字符串

php - Jorani - 无法加载请求的语言文件 : language/fr/global_lang. php

php - htaccess 多 URL 变量干净的 URL

iis-7 - 从移动浏览器打开时的 URL 重定向/重写

java - App URLRewrite设计方法: rewrite on container level or on app level and why?

asp.net-mvc - URL 重写 - 将默认页面添加到域