朋友。我正在使用重写规则创建.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]
答案 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