2013-07-24 3 views
8

Pisałem prosty .htaccess i testowałem go na stronach internetowych Windows Azure, ale mod_rewrite tam nie działał. Czemu? Jak mogę zmienić konfigurację mojej platformy Azure?Mod_rewrite w Azure

RewriteEngine na AddDefaultCharset UTF-8

RewriteCond% {}! -f REQUEST_FILENAME RewriteCond% {}! -d REQUEST_FILENAME

RewriteRule^$% test.html test.php? {QUERY_STRING} Plik [L]

+1

znalazłem rozwiązanie, używam Web.config – user1958350

Odpowiedz

15

.htaccess nie jest rozpoznawany w witrynach internetowych Azure.

Witryny Azure działają na Microsoft IIS.

IIS ma moduł URL Rewrite, bardzo podobny do mod_rewrite dla Apache. Możesz skonfigurować reguły przepisywania URL, umieszczając plik web.config w folderze głównym witryny.

Postępuj zgodnie z artykułem Creating Rewrite Rules i przewiń w dół do "Zobacz regułę w pliku konfiguracyjnym", aby uzyskać pojęcie, jak to wygląda.

Twoje zasady określone, będzie wyglądać w web.config (i najprawdopodobniej będzie działać zgodnie z oczekiwaniami):

<rewrite> 
    <rules> 
     <rule name="Imported Rule 1" stopProcessing="true"> 
      <match url="^test.html$" ignoreCase="false" /> 
      <conditions logicalGrouping="MatchAll"> 
       <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
       <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> 
      </conditions> 
      <action type="Rewrite" url="test.php?{QUERY_STRING}" appendQueryString="false" /> 
     </rule> 
    </rules> 
</rewrite> 
+0

Wierzę, że można zainstalować rozszerzenie, które uczynić plik htaccess do odczytania. http://www.helicontech.com/isapi_rewrite/, ale nie jest DARMOWY – Miguel