2015-08-14 49 views
0

我正在開發我的第一個網站,剛剛瞭解了IIS的web.config文件,所以我想要做的就是隱藏url的不同部分。web.config&Aruba - URL Rewrite

例如,主頁是www.domain.com/it/homepage.html,我很想讓它看起來像www.domain.com/it/homepage 我還沒有發現任何關於刪除。在網絡上的HTML擴展,只是很多.aspx,我試圖用.html代替,失敗悲慘。

另一個問題:是否可以重定向錯誤與web.config?我見過很多基於.htaccess的解決方案,但就是這樣。

編輯:忘了說,該網站是由ARUBA託管,他們的窗戶面向服務器

回答

0

您正試圖改變你的網站,這是訪問的方式的網址...這是一個相當奇怪的行動要做。當您向服務器請求某個頁面時,該URL將被解析爲該文件的路徑。如果你想改變URL,你需要改變文件的名稱 - 如果你最終不希望有一個.html文件,那麼文件可能不應該是一個html文件 - 但是,你的目標是不同。你根本沒有擴展。

幸運的是,有一種方法可以讓URL端點沒有任何文件擴展名。那將是一個文件夾。文件夾沒有對它們進行擴展,但是除了它們鏈接的文件外,它們沒有themselvs的內容。

備註:還有另外一種方法,這是您通常會在網絡上看到的一種方式。 PHP可能在URL中包含其他內容,而不僅僅是端點,但是您詢問了基於Windows的HTML/ASPX Windows支持頁面。

所以 - 是的,我看到沒有擴展的唯一方法就是讓用戶瀏覽文件夾。剩下的唯一問題是,爲什麼你要這個呢?

0

您可以使用下面的配置,您web.config文件:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="niceURL" stopProcessing="true"> 
        <match url="^(.*)$" ignoreCase="false" /> 
        <conditions> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        </conditions> 
        <action type="Rewrite" url="{R:0}.html" appendQueryString="true" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration>