2重写2条件的规则?

时间:2016-02-06 01:42:15

标签: .htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . Core.php

现在我已经有了这个,但是,想知道我是如何将这些混合成一个。 我是新来的.htaccess所以,如果你能给我一个链接或某个地方去学习那会很棒。 ;)

我也找不到一个用于谷歌搜索或任何解释它是如何工作的awnser所以我可以配置它为我工作。 :L

1 个答案:

答案 0 :(得分:1)

您可以使用:

#Rewrite /file to /file.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]

# Rewrite any other request to /core.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ /core.php [NC,L]

解释:

RewriteCond %{REQUEST_FILENAME}.php -f

上面的行检查以确保URI.php是一个文件,如果它是一个现有的php文件,那么

RewriteRule ^ %{REQUEST_URI}.php [NC,L]

规则将请求重写为其原始位置request.php(file => file.php)