0

我目前有动态页面。例如,从我网站的根目录中index.php?p=proposal打开一个页面/pages/landing.phpwww/researchportal/

目前,页面http://localhost/researchportal/proposal似乎是自己加载的(只是proposal.php 的内容,没有CSS),而不是通过index.php 文件加载。这意味着 CSS 未正确加载。

http://localhost/researchportal/index.php?p=proposal

此链接在加载 CSS 的情况下正确加载。

http://localhost/researchportal/proposal

此链接不包含在 index.php 文件中定义的标头和 CSS。

我的 .htaccess 文件位于我网站的根目录中www/researchportal/

RewriteEngine On
RewriteRule ^([A-Za-z0-9-_]+)$ index.php?p=$1

为什么http://localhost/researchportal/proposal加载不正确?

4

2 回答 2

0

我认为 xxx.css 的服务器请求被重新路由到 index.php 你应该为你的 css 和图像目录添加一个 exeption 到你的正则表达式模式。允许 robots.txt 例外也会很有用。

于 2011-11-28T13:19:24.683 回答
0

您当前的规则会将所有请求发送到 index.php。您需要添加一个条件来防止对存在的实际文件/目录的请求,例如 css 被发送到 index.php

RewriteEngine On
#Also recommend that you add a an explicit RewriteBase
RewriteBase /

#only run this rule if the request is not for an existing file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9-_]+)$ index.php?p=$1
于 2011-11-28T13:27:06.687 回答