RewriteRule ^([^/]*)/([^/]*)$ index.php?sayfa=$1&id=$2 [L]
我有一个像这样的htaccess代码,但它破坏了CSS,javascripts和图像。像这样发生的事情
sayfa = css
id = style.css
答案 0 :(得分:3)
我建议只使用重写条件检查文件是否存在:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ index.php?sayfa=$1&id=$2 [L]
这基本上说,如果请求的文件名实际上不存在于磁盘上并且不是磁盘上存在的目录,那么尝试应用该规则。
答案 1 :(得分:1)
在该规则之前使用condition
确认该请求不适用于js
或css
个文件。
RewriteCond %{THE_REQUEST} !(?:css|js)$
RewriteRule ^([^/]*)/([^/]*)$ index.php?sayfa=$1&id=$2 [L]
正则表达式演示:https://regex101.com/r/7WPKGh/1/
?:
是非捕获组。 |
是替代。 $
是字符串的结尾。
对于jpeg
,jpg
,gif
和png
,可以将其更新为:
RewriteCond %{THE_REQUEST} !(?:css|js|jpe?g|png|gif)$
RewriteRule ^([^/]*)/([^/]*)$ index.php?sayfa=$1&id=$2 [L]