如何使用mod_rewrite使用get变量重定向到同一网页?

时间:2015-06-30 15:58:42

标签: apache .htaccess mod-rewrite redirect

我的根上有一个名为“/spazio-web.php”的页面,我需要使用mod_rewrite将其重定向到“/spazio-web.php?language=italian”。

我使用了这条规则:

RewriteRule ^spazio-web.php$ /spazio-web.php?language=italian [NC,L,QSA]

但这不起作用当我打电话给www.mysyte.it/spazio-web.php时,我得到一个“内部服务器错误”。

如果我重写像

这样的规则
RewriteRule ^spazioweb$ /spazio-web.php?language=italian [NC,L,QSA]

规则开始奏效,一切顺利。

你有解决方案来解决这个问题吗? 提前全部感谢!

2 个答案:

答案 0 :(得分:1)

您可以使用此规则来避免重定向循环:

RewriteCond %{QUERY_STRING} !(^|&)language=italian(&|$) [NC]
RewriteRule ^spazio-web\.php$ $0?language=italian [NC,L,QSA]

答案 1 :(得分:0)

使用RewriteCond来避免无限重定向

RewriteCond %{QUERY_STRING} !language=italian
RewriteRule ^spazio-web.php$ /spazio-web.php?language=italian [NC,L,QSA]