重写URL还会阻止文件扩展名?

时间:2010-01-28 06:31:16

标签: apache url url-rewriting

是否可以重写网址并阻止文件扩展名?

例如:如果我有

`http://www.example.com/search.php?...`

可以将其重写为

`http://www.example.com/search?` ?

但是,阻止对.php文件的访问,通常我可以使用两种方式访问​​,包括和不包含文件扩展名,但是如果我使用search.php访问,我希望它显示错误页面或404。

有可能吗?。

感谢。

2 个答案:

答案 0 :(得分:0)

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

RewriteCond %{REQUEST_FILENAME} .*\.php
RewriteRule ^(.*)$ error404.html [R=404]

答案 1 :(得分:0)

请考虑使用以下配置:

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

RewriteRule ^(.*)\.php$ error404.html [R=301,L]