htaccess没有在iis工作

时间:2016-04-24 09:11:04

标签: .htaccess mod-rewrite iis

朋友。我正在使用重写规则创建.htaccess文件。它在localhost中正常工作,但在现场,服务器上它无法正常工作。我的托管使用了一个Window服务器。

我在.htaccess文件中写了这条规则:

SetEnv APPLICATION_ENV development

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

1 个答案:

答案 0 :(得分:3)

默认情况下,IIS不支持.httacces和Apache mode_rewrite规则。为此,您必须安装Helicon Ape插件和IIS。 Helicon Ape支持Microsoft IIS中的Apache .htaccess和.htpasswd配置文件。

使用Helicon Ape,您可以在单个IIS插件下使用模块,如mod_rewrite,mod_proxy,mod_auth,mod_gzip,mod_headers,mod_cache,mod_expires,mod_replace等。 Helicon Ape的单一网站许可证一次性费用为47美元。

如果您想拥有免费替代方案,可以使用本机IIS URL重写模块。 Microsoft URL Rewrite module在web.config文件的帮助下提供类似Apache mod_rewrite模块的功能。您只需安装此模块并将.httacces规则导入IIS Web服务器即可。此模块还允许您将现有的Apache mod_rewrite规则转换为IIS URL重写规则,并自动将它们存储到web.config。有关更多信息,请参阅以下教程。

https://manage.accuwebhosting.com/knowledgebase/2415/How-to-Enable-modrewrite-on-IIS-Web-Server.html