任何人都可以帮我将这个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=([^=&]+)$" />
</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=([^=&]+)&name=([^=&]+)$" />
</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}&name={R:2}" />
</rule>
</rules>
提前致谢。
答案 0 :(得分:1)
我有点惊讶你的友好网址2&#34;阻止没有产生无限重定向循环(也许IIS自己负责,我不知道)。
无论如何,使用Apache和mod_rewrite
,只需&#34;翻译&#34;就可以实现无限循环。你的规则。
注意:&#34;友好网址1&#34;可以按原样翻译,因为重定向和重写不完全适用于同一目标)。
以下是你的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]