2016-09-03 134 views
3

任何人可以幫助我轉換這個web.config文件爲.htaccess轉換web.config文件爲.htaccess

我能找到的.htaccess到web.config中,但沒有對web.config中幾個在線轉換器。 htaccess

<rules> 
    <rule name="RedirectUserFriendlyURL1" stopProcessing="true"> 
     <match url="^themes/sets\.cfm$" /> 
     <conditions> 
      <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" /> 
      <add input="{QUERY_STRING}" pattern="^set=([^=&amp;]+)$" /> 
     </conditions> 
     <action type="Redirect" url="themes/sets/{C:1}" appendQueryString="false" /> 
    </rule> 
    <rule name="RewriteUserFriendlyURL1" stopProcessing="true"> 
     <match url="^themes/sets/([^/]+)/?$" /> 
     <conditions> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="themes/sets.cfm?theme={R:1}" /> 
    </rule> 
    <rule name="RedirectUserFriendlyURL2" stopProcessing="true"> 
     <match url="^set\.cfm$" /> 
     <conditions> 
      <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" /> 
      <add input="{QUERY_STRING}" pattern="^set=([^=&amp;]+)&amp;name=([^=&amp;]+)$" /> 
     </conditions> 
     <action type="Redirect" url="set/{C:1}/{C:2}" appendQueryString="false" /> 
    </rule> 
    <rule name="RewriteUserFriendlyURL2" stopProcessing="true"> 
     <match url="^set/([^/]+)/([^/]+)/?$" /> 
     <conditions> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="set.cfm?set={R:1}&amp;name={R:2}" /> 
    </rule> 
</rules> 

在此先感謝。

+0

我需要幫助的這一點。任何幫助,將不勝感激。 –

+0

這似乎並不大,爲什麼不用手工轉換呢? –

回答

1

我有點驚訝你的「友好的URL 2」塊沒有產生無限的重定向循環(也許IIS自己照顧,我不知道)。

無論如何,通過Apache和mod_rewrite,只需「翻譯」規則就可以實現無限循環。

注意:「friendly url 1」可以被翻譯成原樣,因爲重定向和重寫不完全是針對同一個目標)。

這是你的htaccess應該怎麼看起來像

RewriteEngine On 
Options -MultiViews 

# RedirectUserFriendlyURL1 
RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{QUERY_STRING} ^set=([^&=]+)$ 
RewriteRule ^themes/sets\.cfm$ /themes/sets/%1? [R=301,L] 

# RewriteUserFriendlyURL1 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^themes/sets/([^/]+)/?$ /themes/sets.cfm?theme=$1 [L] 

# RedirectUserFriendlyURL2 
RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{THE_REQUEST} \s/set\.cfm\?set=([^&\s]+)&name=([^&\s]+)\s [NC] 
RewriteRule^/set/%1/%2? [R=301,L] 

# RewriteUserFriendlyURL2 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^set/([^/]+)/([^/]+)/?$ /set.cfm?set=$1&name=$2 [L]