2016-04-24 60 views
0

朋友。我正在用重写规则创建一个.htaccess文件。它在本地主机上运行良好,但在实时服务器上它不起作用。我的主机使用Window服务器。htaccess不工作在iis

我在.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] 
+3

IIS不会执行.htaccess文件。他们是一个Apache的东西。在IIS上进行URL重写时,请参阅http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module –

回答

2

默认情况下,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