结合.htaccess RewriteRule

时间:2013-02-18 16:30:09

标签: apache .htaccess php httpd.conf

我正在使用.htaccess mod_rewite指令,并希望完成两件事:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?unit=/$1 [PT,L]

以上内容采用指定的URL,并允许我通过index.php引导程序页面引导它。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

以上功能可以在不使用.php扩展名的情况下显示我的文件。

使用这个我可以使用url /module/function/setting指定一个文件,它包含引导页面上的路径以加载[root]/module/function/setting.php

我需要将两个动作合并为一个声明,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

将第二条规则放在第一条规则之前:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^ %{REQUEST_URI}.php [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?unit=/$1 [PT,L]

因此htaccess将检查具有名称(没有扩展名)的脚本是否存在并执行它。如果不是,则执行您的currient规则。