Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php .htaccess rewrite不适用于所有URL';s_Php_.htaccess_Url_Mod Rewrite_Url Rewriting - Fatal编程技术网

Php .htaccess rewrite不适用于所有URL';s

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之外,我尝试过的所有方法

我正在开发一个网站,我正试图重写URL,使它们看起来更漂亮,更容易访问

首先,在PHP中,我使用rawurlencode和rawurldecode来清理URL

接下来,在我的.htaccess文件中,这是我正在使用的重写规则:

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]

不幸的是,这对我不起作用。还有其他建议吗?