无法使样式在重定向页面上工作

时间:2014-01-06 15:34:53

标签: php html css .htaccess mod-rewrite

我为所有要求通过index.php

的请求设置了我的网站

我当前的.htaccess文件如下:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

我的网站结构基于MVC,因此它会查看控制器,操作和可选ID的网址。

我想将新请求的请求重写为友好网址。

在第一个例子中,我只想使用新闻ID。

所以不要去新闻/文章/ 1我希望它去新闻/ 1

我已尝试过以下规则,但无法让它发挥作用。

RewriteRule ^news/([0-9]+) /news/article.php?id=$1
RewriteRule ^news/([0-9]+) /news/article/$1

此规则显示正确的页面,但所有样式都已删除。

RewriteRule ^news/([0-9]+)$ /news/article/$1 [L]

2 个答案:

答案 0 :(得分:0)

您的规则看起来是正确的,请不要忘记[L]行末尾的RewriteRule标记。

使用

时没有样式的原因
RewriteRule ^news/([0-9]+)$ /news/article.php?id=$1 [L]

可能是因为您忘记设置CSS / Javascript源URL和任何图像以包含绝对路径,否则他们将尝试从article目录中加载。

答案 1 :(得分:0)

我能够通过在控制器中重新路由所有新闻文章请求来解决此问题。