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, у вас будет бесконечный цикл, просто «переведя» ваши правила.

Примечание: «дружественный 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]