How to exclude a specific file in htaccess

后端 未结 2 1861
一生所求
一生所求 2021-01-16 21:00

I have written below code in htaccess

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

I don\'t want the index.php file

相关标签:
2条回答
  • 2021-01-16 21:23

    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]
    
    0 讨论(0)
  • 2021-01-16 21:32

    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 讨论(0)
提交回复
热议问题