我正在开发一个网站,我正在尝试重写 URL 以使它们看起来更漂亮并更易于访问。
首先,在 PHP 中,我使用 rawurlencode 和 rawurldecode 来清理 URL。
接下来,在我的 .htaccess 文件中,这是我正在使用的 RewriteRule:
RewriteRule ^(/(/[^/]*/?)?)?([^/]+[a-zA-Z0-9])/(albums)/(.*)$ /name.php?name=$3&page=photos&album=$5 [L]
首先,这与我尝试过的所有内容都完美匹配,除了一个 URL,我还不太清楚为什么。
有问题的 URL 是:https ://domain.com/name/albums/album%3B.%2F
现在我在我的 .htaccess 中设置了一个 ErrorDocument,它甚至没有进入该文档,它通常会这样做。404 错误将转到我的域名主机正常错误页面。我试图弄清楚为什么这不起作用,因为 URL 已经过清理,所以我不确定是什么导致了这个问题。
如果您想知道 URL 的最后一部分是从“album;./”编码的...
如果您对如何解决此错误有任何建议,请告诉我。感谢您提前回复。