2013-08-16 145 views
0

我想從url中刪除擴展名.php,以便mysite.com/home.php可以像mysite.com/home一樣工作。IIS web.config啓用重寫規則

我在1and1.com上託管我的網站,並詢問他們是否打開了重寫引擎,並且他們說,對於運行IIS 7.5的Windows服務器,它未打開,我可以打開它web.config文件中的一些代碼。

我一直沒有找到能夠開啓重寫規則的代碼。

下面是我試圖用來重寫網址的內容。但是我得到一個錯誤500.19。

真的有辦法在web.config文件中打開重寫嗎?

web.config文件

<?xml version="1.0" encoding="UTF-8"?> 
<configuration>  
    <system.webServer> 
     <directoryBrowse enabled="false" /> 
     <defaultDocument> 
      <files> 
       <clear /> 
      <add value="home.php" /> 
      <add value="index.html" /> 
      </files> 
     </defaultDocument> 
     <rewrite> 
      <rules> 
       <rule name="rewrite php"> 
        <!--Removes the .php extension for all pages.--> 
        <match url="(.*)" /> 
        <conditions logicalGrouping="MatchAll"> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        <add input="{REQUEST_FILENAME}" negate="true" pattern="(.*).php" /> 
        </conditions> 
        <action type="Rewrite" url="{R:1}.php" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
+0

http://stackoverflow.com/questions/18275740/have-page-come-up-without-the-aspx可能能夠使用類似的東西去除.php – sealz

回答

3

發現,1and1.com不得不重寫引擎關閉的web.config文件。

但我發現我可以使用web.config文件重定向到一個主頁,同時使用.htaccess文件,它的重寫規則從url中刪除.php擴展名。

web.config文件

<?xml version="1.0" encoding="UTF-8"?> 
<configuration>  
    <system.webServer> 
     <directoryBrowse enabled="false" /> 
     <defaultDocument> 
      <files> 
       <clear /> 
      <add value="home.php" /> 
      <add value="index.html" /> 
      </files> 
     </defaultDocument> 

    </system.webServer> 
</configuration> 

.htaccess文件

​​

兩個文件都位於根。並且完美地工作。

-1

在1and1 windows主機中,它們限制了web.config中的重定向和重寫規則。因此,如果您使用<rewrite>標記,則會出現應用程序級別錯誤。見 -

https://help.1and1.com/hosting-c37630/scripts-and-programming-languages-c85099/aspnet-c39624/aspnet-application-restrictions-for-hosting-packages-a603259.html

https://help.1and1.com/hosting-c37630/scripts-and-programming-languages-c85099/aspnet-c39624/permitted-webconfig-file-settings-a617208.html

所以,無論是從.htaccess文件執行或者改變您的主機。