网站正在无法访问.htaccess文件的网络主机上运行。但是,我想对用户友好的URL进行URL重写。
.htaccess
例如原始URL
www.example.com/file?q=name
预期网址
www.example.com/file/name
正如其他人所说,只需使用即可/index.php/nice/looking/url。 网址中间的“ index.php”可能看起来有些奇怪,但是我认为没有.htaccess可能无法使其看起来更好
/index.php/nice/looking/url
否则,您可以要求托管服务商将任何URL重定向到/index.php,以便无需使用URL就可以处理URL重写/index.php。
/index.php
然后,您可以使用正则表达式匹配来检测要包含的文件。 preg_match('@[/]{1}([a-zA-Z0-9]+)@', $_SERVER["PATH_INFO"], $matches) ($ matches将包含URL中数组的所有“部分”)
preg_match('@[/]{1}([a-zA-Z0-9]+)@', $_SERVER["PATH_INFO"], $matches)
包括文件时要小心,请使用 白名单, 以确保没有人能够加载内部文件。