Php 为什么一个htaccess重定向可以工作,而另一个却不能工作,即使它们的格式完全相同?
我的htaccess文件中有以下行Php 为什么一个htaccess重定向可以工作,而另一个却不能工作,即使它们的格式完全相同?,php,.htaccess,Php,.htaccess,我的htaccess文件中有以下行 RewriteRule ^poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7 /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L] RewriteRule ^poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429a /poolpage.php?poolid=c4899d49e0a26b47bb5
RewriteRule ^poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7 /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L]
RewriteRule ^poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429a /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L]
注意:两者的唯一区别是每个URL的最后一个字符
第一个重定向很好。第二个没有
你知道这是怎么发生的吗?你不能在
重写规则中测试查询字符串。改用:
RewriteCond %{QUERY_STRING} (?:^|&)poolid=9f30d1c77b91aca6318d179ad5df2b7(?:&|$) [NC]
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L]
RewriteCond %{QUERY_STRING} (?:^|&)poolid=c4899d49e0a26b47bb5d3fd85f2c429a(?:&|$) [NC]
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L]
无法在重写规则
中测试查询字符串。改用:
RewriteCond %{QUERY_STRING} (?:^|&)poolid=9f30d1c77b91aca6318d179ad5df2b7(?:&|$) [NC]
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L]
RewriteCond %{QUERY_STRING} (?:^|&)poolid=c4899d49e0a26b47bb5d3fd85f2c429a(?:&|$) [NC]
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L]
访问日志上写的是什么?我不知道它的存在。谷歌搜索了它,下载了原始访问日志,并安装了7zip以查看它。这是一个大文件,但我搜索了特定的ID(即9f30d1c77b91aca6318d179ad5df2b7a),但在任何地方都找不到它,因此我假设这意味着访问日志中没有与此重定向相关的内容。访问链接时,它应该会显示一些内容,可能只是一个简单的“200 OK”响应(服务器按原样发出链接)或者一个重定向,显示提供了一个文件。如果您在共享主机中,访问日志可能会有某种延迟。尝试查找原始访问日志文件。是否要在第一个重定向中添加一个,并将其从第二个重定向中删除?或者在两者中都添加a?是的,带有a的链接过去是原始的、真实的URL,但由于我不想进入的原因,该页面现在显示在较短的一个(不带a)。所以,若有人试图转到原始URL(带a),我想将他们重定向到新的、较短的URL。访问日志怎么说?我不知道那个存在。谷歌搜索了它,下载了原始访问日志,并安装了7zip以查看它。这是一个大文件,但我搜索了特定的ID(即9f30d1c77b91aca6318d179ad5df2b7a),但在任何地方都找不到它,因此我假设这意味着访问日志中没有与此重定向相关的内容。访问链接时,它应该会显示一些内容,可能只是一个简单的“200 OK”响应(服务器按原样发出链接)或者一个重定向,显示提供了一个文件。如果您在共享主机中,访问日志可能会有某种延迟。尝试查找原始访问日志文件。是否要在第一个重定向中添加一个,并将其从第二个重定向中删除?或者在两者中都添加a?是的,带有a的链接过去是原始的、真实的URL,但由于我不想进入的原因,该页面现在显示在较短的一个(不带a)。所以,若有人试图转到原始URL(带a),我想将他们重定向到新的、较短的URL。