[操作疑難] .htaccess 轉換至web.config(IIS出現Error 500)

本帖最後由 yeungbluecat123 於 2016-2-11 14:47 編輯

原本的.htaccess
  1. Options -Indexes

  2. <FilesMatch ".(json)$">
  3. Order allow,deny
  4. Deny from all
  5. </FilesMatch>

  6. RewriteEngine on
  7. RewriteBase /
  8. RewriteRule ^([a-zA-Z0-9]*)$ redirect.php?id=$1 [L]
複製代碼
轉換後;
  1. <rewrite>
  2.   <!--這個指示詞未經過轉換,因為 IIS 不支援這個指示詞: RewriteBase /。-->
  3.   <rules>
  4.     <rule name="匯入的規則 1" stopProcessing="true">
  5.       <match url="^([a-zA-Z0-9]*)$" ignoreCase="false" />
  6.       <action type="Rewrite" url="redirect.php?id={R:1}" appendQueryString="false" />
  7.     </rule>
  8.   </rules>
  9. </rewrite>
複製代碼
有沒有人知道RewriteBase /應該要如何轉換?

apache轉IIS?

TOP

回覆 2# hongkong_netcop


    係呀,而加如果就咁用既話會出Error 500

TOP

回覆 3# yeungbluecat123


本身兩邊都有開發(LAMP / Windows+SQL Server)
但冇試過由linux migrate去windows
搵到D sample比你參考下
http://www.iis.net/learn/applica ... nt-to-iis-webconfig

TOP

本帖最後由 yeungbluecat123 於 2016-2-13 21:38 編輯

Thx~已解決
Solution:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3.     <system.webServer>
  4.         <rewrite>
  5.             <rules>
  6.                 <rule name="匯入的規則 1" stopProcessing="true">
  7.                     <match url="^index.php" ignoreCase="false" />
  8.                     <action type="Rewrite" url="index.php" />
  9.                 </rule>
  10.                 <rule name="匯入的規則 2" stopProcessing="true">
  11.                     <match url="^([a-zA-Z0-9]*)$" ignoreCase="false" />
  12.                     <action type="Rewrite" url="redirect.php?id={R:1}" appendQueryString="false" />
  13.                 </rule>
  14.             </rules>
  15.         </rewrite>
  16.     </system.webServer>
  17. </configuration>
複製代碼

TOP