IIRF - 重写不带查询字符串的URL

时间:2012-09-05 20:37:32

标签: regex iis-6 iirf

我有一个如下所示的网址:

va_article.php?id=296&startRow=10#top

我仍然需要在查询字符串中请求信息,但我希望它在地址栏中显示如下:

va_article.php

我已经完成了一些直接的301重定向,并使用IIRF重写并获得了良好的结果。但是,我对重写条件做了很多工作。我可能需要一些重写条件才能工作,如果有的话,哪些可以使用?

谢谢,

1 个答案:

答案 0 :(得分:0)

除非你愿意在其他地方隐藏信息(cookie,我不会这样做!),这不可能

您至少必须将该信息包含在某个地址的网址路径中,例如:

/296/10/va_article.php

通常,您可以执行以下操作:

/articles/296/10
/articles/296?start=10

你需要2条规则:

  • 将旧网址重定向到新闻网址
  • 的一条规则
  • 重写新网址到内部网址
  • 的一条规则

与这两条规则类似:

RedirectRule ^/va_article.php?id=(\d+)&startRow=(\d+)$ /articles/$1/$3 [I,R=302]
RewriteRule ^articles/(\d+)/(\d+)$ /va_article.php?id=$1&startRow=$2 [I,L]