PHP、使用 htaccess 的 URL 重写以及 Microsoft IIS URL 重写?

PHP、使用 htaccess 的 URL 重写以及 Microsoft IIS URL 重写?

我习惯使用 Apache 服务器,因此当启用 mod_rewrite 时,我可以创建一个 htaccess 文件并使用 url 重写。

这是我的 htaccess 文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

现在我已经建立了一个使用此 URL 重写模块的网站,但我了解到它是一台微软服务器。我可以使用我的 htaccess 文件吗?我需要更改什么才能使其正常工作?如何判断微软服务器上是否设置了 URL 重写?

更新:是否有可以安装且适用于 htaccess 文件的免费版本?

答案1

ISAPI 重写 3HeliconTech 的语法与 Apache 非常相似。上述配置无需修改即可在 ISAPI_Rewrite3 .htaccess 中运行。

答案2

你可以导入 Apache mod_rewrite 规则(请注意,不是全部)放入 IIS7 的 Microsoft URL 重写引擎中。

您还可以安装Ionics Isapi 重写过滤器,一个适用于 IIS 6 和 7 的开源 mod_rewrite 类似程序。另一位发帖者链接了 Helicon,它类似,但成本更高。

答案3

我记得,IIS 不具备现成的重写功能。当我们需要重写时,我们使用HeliconTech 的 ISAPI 重写。虽然不免费,但是很便宜。

它会给你一个名为 httpd.ini 的文件 - 你把它放在你网站的根目录中,就像 .HTACCESS 一样,它会完成剩下的工作。

文件的格式不同,但不是不同的。

答案4

以下是micronovae 提供了一些有关 IIS Mod-Rewrite 的信息。在发现 CrystalTech 使用它后,我才开始了解它。它比 ISAPI_Rewrite 稍微贵一点。

相关内容