簡體   English   中英

我的.htaccess文件在IIS上不起作用

[英]My .htaccess file doesn't work on IIS

我的.htaccess文件中有以下重寫配置,該文件在apache服務器中工作正常,但在IIS服務器中無法正常工作。

Options +FollowSymlinks 
RewriteEngine on
RewriteCond %{HTTP_HOST} ^myservername/$ [NC]
RewriteRule ^(.*)$ http://myservername/$1 [R=301,L]
RewriteRule !\.(php|png|gif|jpg|css|htm|html|txt|js|swf|xml|ico|mp3|csv|wav|mid) /index.php [L,QSA]

如何在IIS上使用它?

IIS不支持開箱即用的.htaccess 要在IIS上使用Apache風格的mod_rewrite規則,您需要第三方重寫器,例如Iconics ISAPI Rewrite Filter或HeliconTech的ISAPI_Rewrite 您可能需要調整重寫規則,因為並非所有mod_rewrite指令均受支持或不適用(因為Windows不是Unix)。

如果您運行的是IIS7,並且安裝了UrlRewriter(免費),則可以使用它,但是您需要將重寫規則轉換為完全不同的格式。

請創建名稱為web.config的新文件並粘貼以下內容

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^.*$" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile"  />                      
                    </conditions>
                    <action type="None" />
                </rule>
                <rule name="Imported Rule 2" stopProcessing="true">
                    <match url="^(.*)$" />
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM