2013-08-30 65 views
1

我正在爲其網站我從未工作過的客戶設置一些重寫。目標很簡單,但由於某種原因,服務器似乎忽略了.htaccess文件和Web.config文件!爲了防萬一,我試了兩次,但服務器運行的是Microsoft-IIS/6.0,並且由PleskWin,ASP.NET和PHP/5.2.17提供支持。該網站正在運行WordPress,所有的代碼都是用PHP編寫的。至少,Web.config文件應該打破網站,但它絕對沒有影響。這兩個文件都位於根目錄「httpdocs」中,該目錄與index.php文件的目錄相同。Web.config和.htaccess都不影響網站

這裏是我的Web.config文件:

<system.webServer> 
<rewrite> 
    <rules> 
    <rule name="Rewrite CI Index"> 
     <match url=".*" /> 
     <conditions> 
     <add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html|ttf|eot" negate="true" /> 
     <add input="{REQUEST_FILENAME}" pattern="admin.php" negate="true" /> 
     <add input="{REQUEST_FILENAME}" pattern="index.php" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="index.php/{R:0}" /> 
    </rule> 
    </rules> 
</rewrite> 
</system.webServer> 

而我的.htaccess(以防萬一)

RewriteEngine On 
RewriteRule ^google.html$ http://www.google.com/ [R=301] 
+0

微軟IIS不支持的.htaccess據我所知 – bansi

+0

權。這就是爲什麼我寫了「以防萬一」。這絕對是我需要使用的Web.config文件 – Colin

回答

0

我想你的重定向不工作,因爲system.webServer元素不支持IIS 6.0,因此您在該部分中指定的任何信息都不會被使用(請參閱:http://www.iis.net/configreference/system.webserver)。

如果要在IIS 6.0中執行重定向,則可能需要安裝單獨的ISAPI篩選器。這些問題有更多的信息:

where to write URL rewrite rule in IIS 6
https://serverfault.com/questions/1408/how-can-i-rewrite-urls-ala-mod-rewrite-for-free-in-iis-6

此外,值得一提的,以確保Web應用程序設立這個網站的IIS。如果這些文件只是在沒有創建應用程序的虛擬目錄中,那麼ASP.NET將不會用於運行該網站。在重讀你的問題時,它看起來好像已經完成了,但我想我會提及它以防萬一。如何做到這一點的文檔可以在這裏找到:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1d1c9a73-b4c5-4cfb-ad69-b77fa2e17e19.mspx?mfr=true