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]
精彩评论