一尘不染

在没有htaccess的PHP中重写URL

php

网站正在无法访问.htaccess文件的网络主机上运行。但是,我想对用户友好的URL进行URL重写。

例如原始URL

www.example.com/file?q=name

预期网址

www.example.com/file/name

阅读 273

收藏
2020-05-29

共1个答案

一尘不染

正如其他人所说,只需使用即可/index.php/nice/looking/url
网址中间的“ index.php”可能看起来有些奇怪,但是我认为没有.htaccess可能无法使其看起来更好

否则,您可以要求托管服务商将任何URL重定向到/index.php,以便无需使用URL就可以处理URL重写/index.php

然后,您可以使用正则表达式匹配来检测要包含的文件。
preg_match('@[/]{1}([a-zA-Z0-9]+)@', $_SERVER["PATH_INFO"], $matches) ($
matches将包含URL中数组的所有“部分”)

包括文件时要小心,请使用 白名单, 以确保没有人能够加载内部文件。

2020-05-29