我正在使用.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
。
我需要将两个动作合并为一个声明,有人可以帮忙吗?
答案 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规则。