我见过很多基于 php 的网站,无论您在哪里导航,都会卡在 index.php 上,并且 url 中会传递一些随机参数。当我查看一个开源版本时,它做了同样的事情,index.php 中有很多包含在其中
我可以做同样的事情的基本方法是什么?这包括mod重写吗?
thanks
我见过这个,我个人认为这是一个awful设计。特别是因为许多人不倾向于清理 include 参数,以便有人可以通过传递相对路径来包含他们想要的任何文件。
mod_rewrite 通常用于隐藏 URL,例如:
/index.php?path=user&include=account
将其替换为以下内容:
/user/account
像这样:
RewriteEngine On
RewriteBase /
RewriteRule ^(\w+)/(\w+)$ /index.php?path=$1&include=$2 [L]
我通常也会输入这样的内容:
RewriteRule %{THE_REQUEST} \.php$ [R=404,L]
我忘记了确切的语法,但基本上我的想法是用户不能直接请求 php 文件。它必须通过另一个 RewriteRule(如第一个)来完成,这可以为您省去很多清理查询字符串输入的麻烦,并避免 PHP 为您从未想要的东西创建全局变量的整个问题(尽管它们仍然可以为此 POST) )。
不管怎样,回到为什么我认为这是一个糟糕的主意。他们这样做是因为他们倾向于在每个页面中使用一些通用代码(例如页眉和页脚)。我认为实际上最好在每个页面的顶部包含一个通用文件。这是一个更简单、更清晰的设计。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)