如何拒绝.htaccess中的php请求

时间:2012-01-30 08:46:06

标签: ruby-on-rails apache .htaccess

我将一个php站点转换为rails应用程序(在apache2上)。 问题是旧网站的请求仍然存在。 所以日志有很多php请求。 这可能会减慢网站的速度。 我想我可以在.htaccess中过滤掉它们。 但我对此并不熟悉。

你能帮帮我吗?

感谢。

萨姆

2 个答案:

答案 0 :(得分:2)

我能想到的一件事是使用mod_rewrite。

RewriteRule \.php$ - [F]

但我想知道它会给你多少性能提升。一旦请求到达Apache HTTPD,它就必须处理请求并发送响应。

通常,更好的方法是设置从旧URL到新URL的重定向。这也可以确保您网站的旧访问者即使拥有旧网址也可以访问正确的网页。这被认为不仅仅是向用户显示错误。

例如,如果您要将格式:http://example.com/.../foo.php的所有请求重定向到http://example.com/.../foo/,您可以执行以下操作。

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

我没有在重写网址中测试正则表达式。他们不在我的头顶。但我希望,你明白了。

答案 1 :(得分:0)

我不知道您的网站有多大(页面数量),但从旧网页到新网页进行301重定向并不是一个好主意。这可能是额外的工作,但可以使用户免于搜索新页面。

这也可以通过.htaccess

完成
Redirect 301 /oldpage.php /newpage.html

或在PHP脚本中重定向

<?php
header( "Status: 301 Moved Permanently" );
header( "Location: http://www.domain.nl/newpage.html" );
exit(0);
?>