2013-07-24 27 views
8

Tôi đã viết đơn giản .htaccess và kiểm tra nó trên Windows Azure Web Sites, nhưng mod_rewrite không hoạt động ở đó. Tại sao? Làm thế nào tôi có thể cấu hình lại Azure của tôi?Mod_rewrite trong Azure

RewriteEngine on AddDefaultCharset utf-8

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

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

+1

tôi tìm thấy giải pháp, tôi sử dụng Web.config – user1958350

Trả lời

15

.htaccess tệp không thể nhận dạng được bởi Azure Web Sites.

Trang web Azure chạy trên Microsoft IIS.

IIS có mô-đun Ghi đè URL, rất giống với mod_rewrite cho Apache. Bạn có thể định cấu hình quy tắc Ghi đè URL bằng cách có tệp web.config trong thư mục gốc của trang web của bạn.

Làm theo bài viết Creating Rewrite Rules và cuộn xuống "Xem quy tắc trong tệp Config" để biết ý tưởng của nó.

quy tắc của bạn được xác định, sẽ giống như thế này trong web.config (và có lẽ hầu hết sẽ làm việc như dự kiến):

<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

Tôi tin rằng bạn có thể cài đặt một phần mở rộng, mà có thể làm cho tập tin htaccess được đọc. http://www.helicontech.com/isapi_rewrite/ nhưng không MIỄN PHÍ – Miguel