与htaccess(重写/重写)有一个尴尬的问题

时间:2011-11-07 02:56:01

标签: apache mod-rewrite

基本上我想要重写引擎来杀死任何包含“.php”的URI。

所以我有这个,但它似乎不起作用......

RewriteCond %{REQUEST_URI} ^(\.php)+$
RewriteRule ^/$ 404[L]

即使只是RewriteRule ^(。*。php)+ / $ 404也不起作用。

也许我的大脑整天都在为这个项目工作而震惊,所以这可能是一个小错误。

谢谢

2 个答案:

答案 0 :(得分:3)

试试这个:

RewriteRule ^(login|register)$ $1.php [NC,QSA,L]

RewriteCond %{SCRIPT_FILENAME} !\/(login|register)(\.php)? [NC]
RewriteCond %{REQUEST_URI} \.php$
RewriteRule (.*) 404 [L]

(login | register | etc ...)是文件名。这意味着:登录或注册OR或其他一些文件,如果你有多个。如果您只有1,则可以使用(登录)或登录

答案 1 :(得分:0)

你不能拥有将URI重定向到php文件的RewriteRule;它变成了一个循环孔,第一个cond是^(php)。