如何使用rewirecond排除htaccess文件中重写规则中的特殊页面



我在MVC项目中使用以下规则将所有内容重定向到我的index.php:

RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

但是我想从这个规则中排除一些页面,我该怎么做?

例如,我不希望以下页面重定向:

http://www.my_domian/public/checkeditor/kcfinder/browse.php?opener=ckeditor&type=images&CKEditor=des&CKEditorFuncNum=1&langCode=fa

您可以在此RewriteRule:之前添加一个否定条件

DirectoryIndex index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} !/public/checkeditor/kcfinder/browse.php?opener=ckeditor&type=images&CKEditor=des&CKEditorFuncNum=1&langCode=fa [NC]
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

此外,我还添加了两个条件,以避免对真实文件和目录进行路由。

最新更新