CakePHP на сервере IIS - таблицы стилей CSS не работают - PullRequest
0 голосов
/ 11 ноября 2010

Я новый пользователь CakePHP. Я разработал приложение с CakePHP 1.3.5, которое отлично работает локально с WAMP. Я загрузил его на веб-сервер под управлением IIS. Все файлы CakePHP находятся в 1 папке, а не в корне сервера. Я следовал руководству CakePHP " перезапись URL-адресов на IIS7 " в 1.3 кулинарной книге. Модуль перезаписи URL 2.0 работает как часть IIS на сервере. Я создал файл web.config в моей папке CakePHP. Симпатичные URL CakePHP работают нормально. Я могу запустить приложение. Однако ни одна из стилей CSS, похоже, не работает, ни общая, ни те, что находятся в моей тематической папке. Кто-нибудь случайно узнает, в чем может быть проблема?

Заранее спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 22 сентября 2013

URL перезаписывает на IIS7 (хосты Windows)

IIS7 не поддерживает файлы .htaccess.Хотя есть надстройки, которые могут добавить эту поддержку, вы также можете импортировать правила htaccess в IIS, чтобы использовать собственные изменения CakePHP.Для этого выполните следующие действия: 1.Используйте установщик веб-платформы Microsoft, чтобы установить модуль перезаписи URL 2.0 или загрузить его напрямую (32-разрядный / 64-разрядный).

2. Создайте новый файл в своемКорневая папка CakePHP, которая называется web.config.

3. Используя Блокнот или любой XML-безопасный редактор, скопируйте следующий код в новый файл web.config ...

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
            <rule name="Redirect static resources" stopProcessing="true">
            <match url="^(ico|img|css|files|js)(.*)$" />
            <action type="Rewrite" url="app/webroot/{R:1}{R:2}" appendQueryString="false" />
            </rule>
            <rule name="Imported Rule 1" stopProcessing="true">
            <match url="^(.*)$" ignoreCase="false" />
            <conditions logicalGrouping="MatchAll">

                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />
            </rule>
            <rule name="Imported Rule 2" stopProcessing="true">
              <match url="^$" ignoreCase="false" />
              <action type="Rewrite" url="/" />
            </rule>
            <rule name="Imported Rule 3" stopProcessing="true">
              <match url="(.*)" ignoreCase="false" />
              <action type="Rewrite" url="/{R:1}" />
            </rule>
            <rule name="Imported Rule 4" stopProcessing="true">
              <match url="^(.*)$" ignoreCase="false" />
              <conditions logicalGrouping="MatchAll">

                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
              </conditions>
              <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />
            </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
0 голосов
/ 11 ноября 2010

Дикая догадка: он не работает в Firefox, но работает в IE и других браузерах?

Тогда, скорее всего, вы не отправляете заголовок text/css content-type в своих файлах CSS.

...