2

.htaccessIIS 7 の URL 書き換えルールにファイルをインポートしようとしています。

Symfony 2 の現在のファイルは、IIS へのインポートに失敗します。ファイルを IIS で使用可能なものに変換するための構文を知っている人の助けが必要であり、この作業が IIS で Symfony 2 の将来のユーザーに役立つという事実に訴えています。

IIS の構文がわからないことをお詫びします。/web/.htaccess便宜上、すべてのコメントを除外して、元のファイルを追加します。

前もって感謝します

DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$

    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteCond %{ENV:REDIRECT_STATUS} ^$

    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f

    RewriteRule .? - [L]
    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

現在のエラー出力は次のとおりです。

<rewrite>
  <rules>
    <!--The rule cannot be converted into an equivalent IIS format because of unsupported flags: E-->
    <!--This rule was not converted because it contains references that are not supported: 'ENV::BASE'-->
    <rule name="Imported Rule 3" stopProcessing="true">
      <match url=".?" ignoreCase="false" />
      <conditions>
        <!--# If the requested filename exists, simply serve it.-->
        <!--# We only want to let Apache serve files and not directories.-->
        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
      </conditions>
      <action type="None" />
    </rule>
    <!--This rule was not converted because it contains references that are not supported: 'ENV::BASE'-->
  </rules>
</rewrite>

前もって感謝します

4

2 に答える 2

0

または、isapi リライトをインストールすることもできます - 翻訳する必要はありません - http://www.helicontech.com/isapi_rewrite/

于 2014-04-05T04:36:48.560 に答える