2

我有一个网站,我的链接看起来像这样 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/canyoningURL 中的链接而不是index.php?lang=English&inc=canyoning

第二:我想在页面上使用表格。没有区别,无论我使用表单方法 =GET 还是 POST,都没有变量到达目标站点。

我想我的 rewriteRule 错误。如何解决这些问题?

谢谢你的帮助!

4

1 回答 1

4

这是因为您正在执行重定向而不是重写..(R标志表示Redirect

因此,删除 R 标志应该可以解决您的问题。

您可能还需要删除硬编码域。当您进行重写时,您无法重写到不同的域。

IE。改变

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]
于 2013-03-01T11:32:28.607 回答