2016-04-24 120 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