簡體   English   中英

為什么此Url RewriteRule對CSS和JavaScript文件不起作用?

[英]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 / trickshttp:// 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM