приложения we.config и cakephp - PullRequest
1 голос
/ 23 июля 2011

Есть ли способ использовать web.config для замены .htaccess для приложения cakephp на iis?

текущий файл .htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>

ОБНОВЛЕНИЕ:

Используется импорт в IIS6. Это дает мне этот web.config, но сайт не работает. Я получаю белый экран. Также пробовал это http://book.cakephp.org/revisions/view/19937/URL-Rewrites-on-IIS7-Windows-hosts,, и он тоже не работал.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^$" ignoreCase="false" />
                    <action type="Rewrite" url="webroot/" />
                </rule>
                <rule name="Imported Rule 2" stopProcessing="true">
                    <match url="(.*)" ignoreCase="false" />
                    <action type="Rewrite" url="webroot/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

1 Ответ

1 голос
/ 23 июля 2011

Установите модуль перезаписи URL-адресов Microsoft для IIS. Это позволит вам импортировать ваши правила переписывания apache. Вы можете найти модуль здесь:

http://www.iis.net/download/urlrewrite

Я использую его с CakePHP на IIS 7.0 и 7.5, и он работает удовольствие.

EDIT

Можете ли вы попробовать эту конфигурацию для меня?

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Imported Rule 1-1" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/webroot/index.php?url={R:1}" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...