2013-03-01 68 views
2

我有一个网站,我的链接看起来像这样 http://www.domain.com/index.php?lang=English&inc=canyoning 我设法写重写规则是这样的:的.htaccess规则确实重写URL地址栏

RewriteRule (German|English)\/(.*) http://www.domain.com/index.php?lang=$1&inc=$2 [NC,R]

现在我的链接看起来是这样的:<a href="http://www.domain.com/English/canyoning"> ...

这可行,但我可以在浏览器地址栏中看到非用户友好的URL。我如何告诉浏览器在URL中使用链接/English/canyoning,而不是index.php?lang=English&inc=canyoning

第二:我想在页面上使用表单。 没有区别,我是否使用form method = GET或POST,没有变量来到目标站点。

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

谢谢你的帮忙!

+0

你应该单独问你的第二个问题。 StackOverflow的FAQ格式不适用于多个问题。 – 2013-03-01 11:35:24

+0

此外,你可能会得到更好的回应,网址是http://webmasters.stackexchange.com/ – Raad 2013-03-01 11:53:59

回答

3

这是因为你正在做一个重定向不是重写。(该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] 
+0

谢谢@cowls,真的有帮助! – user2123280 2013-03-01 11:46:42

+0

+1的解决方案 – 2013-03-01 11:59:00