2012-03-06 101 views
1

私のIIS書き換えルールを.htaccessファイルに変換する方法を探しています。私は自動的にこれを行うためのツールを見つけることができなかったし、私は自分自身を得ることができるすべて500内部サーバーのエラーです。web.configファイルを.htaccessに変換する

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <clear /> 
       <rule name="RemoveTrailingSlash" stopProcessing="true"> 
        <match url="^(.*?)/+$" /> 
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
        </conditions> 
        <action type="Redirect" url="http://{HTTP_HOST}/{R:1}" /> 
       </rule> 
       <rule name="HaltOnTinyMCE" stopProcessing="true"> 
        <match url="^tinymce/.*$" /> 
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> 
        <action type="None" /> 
       </rule> 
       <rule name="RewriteContent" enabled="true" stopProcessing="true"> 
        <match url="^.*\.(gif|jpg|png|css|js|swf|txt|xml)$" /> 
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> 
        <action type="Rewrite" url="domains/{HTTP_HOST}/{R:0}" appendQueryString="true" logRewrittenUrl="false" /> 
       </rule> 
       <rule name="RewritePages" enabled="true"> 
        <match url="^.*$" ignoreCase="true" negate="false" /> 
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> 
        <action type="Rewrite" url="index.php" logRewrittenUrl="false" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

手動でこれはまだ私に500内部サーバーエラーを与えている変換での私の最高の試み:

web.configファイルは次のようになります。助言がありますか?

RewriteEngine on 

RewriteCond /+$ 
RewriteRule ^(.*?)/+$ http://{HTTP_HOST}/$1 [R=301,L] 

RewriteCond ^tinymce/.*$ 
RewriteRule ^(.*)$ $1 [L] 

RewriteCond \.(gif|jpg|png|css|js|swf|txt|xml)$ 
RewriteRule ^.*\.(gif|jpg|png|css|js|swf|txt|xml)$ domains/{HTTP_HOST}/$1 [L] 

RewriteRule ^.*$ index.php 

ありがとうございます!

答えて

2

あなたは正しい方向に向かっていましたが、いくつかのエラーと不必要なものがありました。これは私が思いついたものです。

RewriteEngine on 
RewriteBase/

#remove tailing slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1 [R=301,L] 

# stop rules below from being applied if url starts with tinymce/ 
RewriteRule ^tinymce/.*$ - [L] 

#rewrite images etc. to domains folder (unless url already starts with domain/) 
RewriteCond $0 !^domains/ 
RewriteRule ^.*\.(gif|jpg|png|css|js|swf|txt|xml)$ domains/%{HTTP_HOST}/$0 [L] 

#catch all other (I added 2 rewriteconds, to prevent rewriting existing files (including index.php)) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php 
+0

これはうまくいきました。これらの厄介なバグを取り除いてくれてありがとうございました:) –

+0

Graag gedaan ... – Gerben

関連する問題