如何防止.htaccess重定向中的一个文件?

Man*_*ghe 5 php apache .htaccess

我正在创建php前端控制器.这是我的.htaccess档案.

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    (.*) controller.php    [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

此代码将所有网址重定向到controller.php.我需要避免重定向index.phpcontroller.php.所有其他网址应重定向到controller.php.

Rik*_*kus 5

您可以使用以下语法进行异常处理:

RewriteRule name_of_page_to_exclude.php - [L]
Run Code Online (Sandbox Code Playgroud)

破折号(-)非常重要.将[L]确保,如果这个规则被触发,这是将要处理的最后一个.很自然地,.htaccess在问题中的规则之前,您需要将它放在文件的顶部附近:

RewriteEngine on
RewriteRule name_of_page_to_exclude.php - [L]
RewriteRule (.*) controller.php [L]
Run Code Online (Sandbox Code Playgroud)

文档有以下说法:

- (破折号)破折号表示不应执行替换(现有路径未经过修改).