2016-09-03 238 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]