我有一个网站,我的链接看起来像这样 http://www.domain.com/index.php?lang=English&inc=canyoning 我设法写了这样的rewriteRule:
RewriteRule (German|English)\/(.*) http://www.domain.com/index.php?lang=$1&inc=$2 [NC,R]
现在我的链接如下所示:<a href="http://www.domain.com/English/canyoning">
...
这样可行,但我可以在浏览器地址栏中看到非用户友好的URL。如何告诉浏览器在网址中使用/English/canyoning
之类的链接,而不是index.php?lang=English&inc=canyoning
?
第二:我想在页面上使用表格。 没有区别,无论我使用form method = GET还是POST,没有变量到达目标站点。
我猜我的rewriteRule错了。如何解决这些问题?
谢谢你的帮助!
答案 0 :(得分:4)
这是因为你正在进行重定向而不是重写..(R
标志表示Redirect)
因此,删除R标志应解决您的问题。
您可能还需要删除硬编码域。在进行重写时,您无法重写到其他域。
即。变化
RewriteRule (German|English)\/(.*) http://www.domain.com/index.php?lang=$1&inc=$2 [NC,R]
到
RewriteRule (German|English)\/(.*) /index.php?lang=$1&inc=$2 [NC]