htaccess的重定向的动态网址(htaccess redirect dynamic urls)

2019-10-18 18:08发布

我试图写一个htaccess的重定向,但它不工作,我希望它。 我现在的(工作)htaccess的重定向与1个字符的索引文件的所有HTML页面:

RewriteRule ^([a-zA-Z0-9]).html$ index.php?letter=$1

所以a.html被重定向到index.php?信= A现在我需要重定向页面a.html?页= 2的index.php?信= A&页= 2基本上我想重定向的URL,但保留动态部分完好无损。 下面的一切返回404:

RewriteRule ^([a-zA-Z0-9]).html?page=([0-9]+) index.php?letter=$1&page=$2

RewriteRule ^([a-zA-Z0-9]).html?page=(.*) index.php?letter=$1&page=$2

RewriteCond %{QUERY_STRING} page=(.*)
RewriteRule ^([a-zA-Z0-9]).html(.*) index.php?letter=$1&page=%1

我觉得我很接近,但我似乎无法到达那里:/任何人都可以给我最后推?

Answer 1:

您的RewriteRule必须

RewriteRule ^([a-zA-Z0-9])\.html$ index.php?letter=$1 [QSA,NC,L]

请注意,URL参数不适用于匹配之内RewriteRule 。 如果你只需要添加一个额外的URL参数,可以使伴随着办[QSA]标志,该标志将采取追加原始URL参数为你的照顾。

请注意,前点html需要转义\. 为好。 在[L]可以确保重写停止,并且没有进一步的规则(如果下面有)被应用。



文章来源: htaccess redirect dynamic urls