我有以下简单的重写,我采用略微不同的方法来重写网站内容。
RewriteEngine On
RewriteRule ^(.*)$ controller.php?page=$1 [NC,L,QSA]
目标是在任何地方重写所有文件和文件夹,除非文件属于特定类型。
传统上,采取以下方法对于这项努力来说过于放松:
1。排除实际存在的所有文件/文件夹:
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
2。从重写中排除特定文件夹
RewriteRule ^somepath - [L]
第3。仅重写特定文件类型
RewriteRule ^\.html index.php [NC,L,QSA]
4。 #2和文件类型的组合
RewriteCond %{REQUEST_URI} !/images/.*
RewriteRule ^(.*\.(gif|jpg|png))$ images/$1 [QSA,L]
我想知道的是我要插入什么规则来排除(保持样本简短):jpg,bmp,png被重写为controller.php
,无论它们位于何处。
RewriteEngine On
# skip rewriting jpg,bmp,png
RewriteRule ^[..something here..] - [NC,L]
# rewrite everything else
RewriteRule ^(.*)$ controller.php?page=$1 [NC,L,QSA]
答案 0 :(得分:1)
RewriteCond %{REQUEST_FILENAME} !.*\.extensiongoeshere