Htaccess - 将每个请求重定向到单个页面。副作用?

时间:2012-08-14 10:37:13

标签: php performance .htaccess

我正在创建自己的mvc框架以在小项目中使用,默认情况下,我正在重写url,以便每个请求都转到index.php。 Index.php只有4-5行,它调用应用程序类,然后,应用程序类调用相应的控制器,依此类推。

基本上,这是我的htaccess文件和index.php:

Options +FollowSymLinks
RewriteEngine on

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

的index.php:

<?php
include 'config.php';
$app = new Application();
?>

我想了解的是,这种方法在速度和带宽方面是否会产生或可能产生任何负面影响。感谢您的回答和评论。

2 个答案:

答案 0 :(得分:1)

为什么要重定向而不是重写url?

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

例如,许多应用程序/网站都使用它,您可以绝对控制访问的URL。

是的,重定向是对服务器的另一次调用。

答案 1 :(得分:1)

如果班级只是为了包裹你的自举阶段,那么它是毫无意义的。只需要一个普通的文件,它可以初始化应用程序,加载配置并完成所有连接。

您可能还希望index.php文件只包含一行:包含DOCUMENT_ROOT之外文件的内容。这样,如果使用PHP扩展程序进行 tits-up ,则不会向所有人显示您的数据库密码以及有关代码的其他敏感详细信息。

至于您当前的 .htaccess 设置 - 否,它不会导致任何额外的带宽使用,但您可能会考虑将浏览器的缓存用于图像和其他资产。