我正在尝试让我的htaccess文件不要重写我的静态文件(js / css / images)。
这是我目前的htaccess文件:
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule !\.(jpg|css|js|gif|png)$ public/ [L]
RewriteRule !\.(jpg|css|js|gif|png)$ public/index.php?url=$1
如何重写它?
答案 0 :(得分:11)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC]
RewriteRule ^(.*)$ public/index.php?url=$1
对未以列出的扩展名结尾的现有文件(不区分大小写匹配)的所有请求都被重写为public/index.php
,将当前URL作为url=
GET参数
答案 1 :(得分:6)
这仅适用于它下方的一行。因此,如果您有许多RewriteRules,它可以帮助使用这样的东西:
RewriteEngine on
RewriteRule ^(.*?)\.(php|css|js|jpg|jpeg|png|pdf)$ - [L]
RewriteRule ^(.+)/(.+)/?$ index.php?page=$1&subpage=$2 [L]
RewriteRule ^(.+)$ index.php?page=$1 [L]