开发者

How to exclude a specific file in htaccess

开发者 https://www.devze.com 2023-02-14 12:00 出处:网络
I have written below code in htaccess RewriteRule ^([a-zA-Z_-]+).php$ http://www.domain.com/my开发者_StackOverflow社区file.php?page=inc-$1.php [NC]

I have written below code in htaccess

RewriteRule ^([a-zA-Z_-]+).php$ http://www.domain.com/my开发者_StackOverflow社区file.php?page=inc-$1.php [NC]

I don't want the index.php file to be rewritten - it should open normally.


You could use the following code, to exclude all existing files (like index.php):

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z_-]+).php$ http://www.domain.com/myfile.php?page=inc-$1.php [NC]

or to exclude only index.php you can use:

RewriteCond %{REQUEST_URI} !^(.*/)?index\.php$ [NC]
RewriteRule ^([a-zA-Z_-]+).php$ http://www.domain.com/myfile.php?page=inc-$1.php [NC]


I think this is what you're asking:

"I want to allow the index.php file to be served normally, but all other requests follow this rewrite..."

To keep the index file from being redirected, you need a RewriteCond before the rule:

RewriteCond $1 !index\.php
RewriteRule ^([a-zA-Z_-]+).php$ http://www.domain.com/myfile.php?page=inc-$1.php [NC]
0

精彩评论

暂无评论...
验证码 换一张
取 消