网站在我们无权访问 .htaccess
文件的网络主机上运行。但是,我想为用户友好的 URL 重写 URL。
例如原始网址
www.example.com/file?q=name
预期的网址
www.example.com/file/name
最佳答案
正如其他人所说,只需使用 /index.php/nice/looking/url 之类的链接
。
URL中间的“index.php”可能看起来有点奇怪,但我认为没有.htaccess不可能让它看起来更好
否则,您可以要求您的托管商将任何 URL 重定向到/index.php,这样您就可以在 URL 中不包含 /index.php
的情况下处理 URL 重写。
然后您可以使用正则表达式匹配来检测要包含的文件。
preg_match('@[/]{1}([a-zA-Z0-9]+)@', $_SERVER["PATH_INFO"], $matches)
($matches 将包含数组中 url 的所有“部分”)
小心包含文件,使用白名单,确保没有人能够加载内部文件。
关于php - 在没有 htaccess 的情况下用 PHP 重写 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2126762/