1

我的 httpd conf 文件中有这个重写规则:

RewriteRule (.*?)\.html $1.php?%{QUERY_STRING} [NC]

它工作得很好。但是,当我将它放入同一虚拟主机的 .htaccess 中时,它现在以 1 美元的价格返回整个文档路径,而不是 http 主机。它需要做的就是用“php”替换“html”。

我显然不明白 .htaccess 如何与重写规则一起工作。

4

3 回答 3

1

您需要在规则的目标中添加前导斜杠:

RewriteRule (.*?)\.html /$1.php?%{QUERY_STRING} [NC]

此外,您也可以摆脱?%{QUERY_STRING}目标中的位。如果没有? .

于 2012-07-19T06:05:47.453 回答
0

看着这丑陋的东西,我的眼睛几乎要流血了……

 RewriteRule ^(.*).html?(.*)$ $1\.php?$2 [NC]
于 2012-07-19T06:08:10.590 回答
0
RewriteRule ^(.*)\.html$ $1.php [nc]
于 2013-06-28T10:32:13.330 回答