带有.htaccess的动态页面

时间:2011-11-28 13:14:05

标签: php .htaccess mod-rewrite dynamic-pages

我目前有动态网页。例如,index.php?p=proposal会在我的网站/pages/landing.php

的根目录中的www/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没有正确加载?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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