我的.htaccess文件如下所示
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)?$ /fm/page_new?location=$1&
r_id=$2&name=$3 [L]
现在,当我通过上面的重写登陆page_new(URL:http://localhost/fm/delhi/25/moods
)时,我的css,js和img文件都没有被应用到页面。
我用Google搜索了如何做到这一点,我得到了以下代码
# Allow any files or directories that exist to be displayed directly
RewriteCond ${REQUEST_URI} ^.+$
RewriteCond %{REQUEST_FILENAME}
\.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$ [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]
这也无法实现目标,因为上述规则允许.php
访问,我想限制相同。但是,通过上面的重写,css和js以及img文件也没有得到应用。
请帮忙
答案 0 :(得分:1)
这可能是因为您的链接是相对网址(看起来像<img src="something.png">
vs <img src="/full/path/something.png">
)。因此,要么将链接更改为绝对URL,要么将相对URI基础添加到页面标题中:
<base href="/fm/" />