Php .htaccess rewrite不适用于所有URL';s
我正在开发一个网站,我正试图重写URL,使它们看起来更漂亮,更容易访问 首先,在PHP中,我使用rawurlencode和rawurldecode来清理URL 接下来,在我的.htaccess文件中,这是我正在使用的重写规则:Php .htaccess rewrite不适用于所有URL';s,php,.htaccess,url,mod-rewrite,url-rewriting,Php,.htaccess,Url,Mod Rewrite,Url Rewriting,我正在开发一个网站,我正试图重写URL,使它们看起来更漂亮,更容易访问 首先,在PHP中,我使用rawurlencode和rawurldecode来清理URL 接下来,在我的.htaccess文件中,这是我正在使用的重写规则: RewriteRule ^(/(/[^/]*/?)?)?([^/]+[a-zA-Z0-9])/(albums)/(.*)$ /name.php?name=$3&page=photos&album=$5 [L] 首先,除了一个URL之外,我尝试过的所有方法
RewriteRule ^(/(/[^/]*/?)?)?([^/]+[a-zA-Z0-9])/(albums)/(.*)$ /name.php?name=$3&page=photos&album=$5 [L]
首先,除了一个URL之外,我尝试过的所有方法都能很好地实现这一点,我还不太清楚为什么
该网址为:
现在我在.htaccess中设置了一个ErrorDocument,它甚至不会进入该文档,而它通常会这样做。404错误将进入“我的域主机正常错误”页面。我正在试图弄清楚为什么这不起作用,因为URL已被清理,所以我不确定是什么导致了这个问题
如果您想知道URL的最后一部分是从“album;/”编码的
如果您有任何关于如何修复此错误的建议,请让我知道。感谢您提前回复。请尝试在您的规则中添加一个NE标志,以便
%3B.%2F
不会在查询字符串中重新编码为%253B.%252F
:
RewriteRule ^(/(/[^/]*/?)?)?([^/]+[a-zA-Z0-9])/(albums)/(.*)$ /name.php?name=$3&page=photos&album=$5 [L,NE]
不幸的是,这对我不起作用。还有其他建议吗?