[英]Why does this Url RewriteRule not working for CSS & JavaScript files?
Options +FollowSymLinks
RewriteEngine on
#RewriteBase /
RewriteRule ^tricks/([0-9]+) tricks.php?show=one&tid=$1 [NC,L]
RewriteRule ^tricks/([a-z]+) tricks.php?show=frmsec&sec=$1 [NC,L]
RewriteRule ^tricks/?$ tricks.php?show=all [NC,L]
RewriteRule ^discussion/?$ discussion.php?show=all [NC,L]
這不會加載CSS和Javascript文件
僅http:// localhost / web / tricks和http:// localhost / discussion正常工作
未測試(因為我在這里無法測試),但是您需要一些東西來排除文件。 這是一個示例(來自TYPO3的.htacces信用):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\\.(\\d+)\\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
Edit根據@bouke的評論:
樣式表鏈接中有相對路徑。 這行不通。 當您在localhost / web / tricks上時,相對路徑錯誤(因為/ web / tricks中沒有CSS文件夾)。
您需要使用絕對路徑或使用基本url標記( <base ...>
)
在RewriteRule
之前添加RewriteCond %{REQUEST_FILENAME} !-f
。
如果您使用URL http://localhost/web/tricks/000
而不是localhost/tricks.php?show=one&tid=000
您的相對URL將相對於/web/tricks/
而不再相對於/
。
您要么將href更改為../../CSS/content.css
要么最好使用/CSS/content.css
。 后者將使路徑相對於根目錄,而不是相對於當前頁面的“目錄”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.