让我首先说我不是一个.htaccess或Apache专家。 但是我需要在URL查询的末尾附加散列术语。
例如:
http://www.example.com/?query_string=stuff
变
http://www.example.com/?query_string=stuff#otherstuff
我正在使用以下规则(整个.htaccess文件):
RewriteCond %{QUERY_STRING} ppw_confirm=(.*) RewriteRule ^/?(.*) http://www.example.com/?ppw_confirm=%1#go [NE,L]
问题
将#go添加到参数string的末尾后,.htaccess文件仍会读取?ppw_confirm =查询。 然后尝试执行第二次redirect,然后发生无限循环。
我一直在寻找几个小时,没有运气。 基本上,我需要一种方法来防止.htaccess重写两次,从而防止这个无休止的循环。
打开任何和所有的build议:)
任何帮助是极大的赞赏。 提前致谢!
#go部分不是你可以在重写规则中使用的东西; 它是客户端,在请求资源时不会发送到服务器,所以您无法根据规则做出规则决定。
也许作为redirect的一部分,添加一个额外的variables的查询string,然后寻找该variables,并防止redirect,当它存在?
RewriteCond %{QUERY_STRING} ppw_confirm=(.*) RewriteCond %{QUERY_STRING} !r=1 RewriteRule ^/?(.*) http://www.example.com/?ppw_confirm=%1&r=1#go [NE,L]