网站如何做到这一点index.php?something=somepage

2023-12-22

我见过很多基于 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(使用前将#替换为@)

网站如何做到这一点index.php?something=somepage 的相关文章

随机推荐