1

我在 IIS7 中使用 Helicon Ape 在 Windows Server 2008 上进行“mod rewrite”。

非常简单的规则:

RewriteRule ^([^\/]+) /index.php?page=$1 [L,NC]
www.example.com/mypage

这不起作用,我在几个网站上都经历过。但是,我遇到了一个问题,我现在将现有站点(使用上述规则,以前在 IIS6 中工作,没有 Helicon Ape)转移到新服务器,所以我需要让它工作。

如果我在正则表达式之前向我的 .htaccess 添加一个显式参数,它可以正常工作:

RewriteRule ^page/([^\/]+) /index.php?page=$1 [L,NC]
www.example.com/page/mypage

我不明白为什么这行得通,而前面的例子却不行?

4

1 回答 1

1

以下重定向/mypage/mypage//index.php?page=mypage

RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L,NC]

您正在逃避,/但这不是必需的。(只有\。)

于 2013-05-15T20:16:02.870 回答