Развертывание Grav CMS в Azure

После развертывания Grav CMS (http://getgrav.orgна веб-сайте Azure через хранилище Bitbucket, я получаю сообщение «У вас нет разрешения на просмотр этого каталога или страницы». когда я пытаюсь просмотреть сайт. Я еще не изменил никаких настроек конфигурации.

2

Решение

Поскольку приложения PHP, работающие в Azure, размещены на IIS, проблема возникает из-за того, что вы не настроили режим перезаписи URL в IIS.

Попробуйте создать файл с именем web.config в корневом каталоге вашего приложения со следующим содержимым:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<defaultDocument>
<files>
<remove value="index.php" />
<add value="index.php" />
</files>
</defaultDocument>
<rewrite>
<rules>
<rule name="request_filename" stopProcessing="true">
<match url="." ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
<rule name="user_accounts" stopProcessing="true">
<match url="^user/accounts/(.*)$" ignoreCase="false" />
<action type="Redirect" url="error" redirectType="Permanent" />
</rule>
<rule name="user_config" stopProcessing="true">
<match url="^user/config/(.*)$" ignoreCase="false" />
<action type="Redirect" url="error" redirectType="Permanent" />
</rule>
<rule name="user_error_redirect" stopProcessing="true">
<match url="^user/(.*)\.(txt|md|html|php|yaml|json|twig|sh|bat)$" ignoreCase="false" />
<action type="Redirect" url="error" redirectType="Permanent" />
</rule>
<rule name="cache" stopProcessing="true">
<match url="^cache/(.*)" ignoreCase="false" />
<action type="Redirect" url="error" redirectType="Permanent" />
</rule>
<rule name="bin" stopProcessing="true">
<match url="^bin/(.*)$" ignoreCase="false" />
<action type="Redirect" url="error" redirectType="Permanent" />
</rule>
<rule name="backup" stopProcessing="true">
<match url="^backup/(.*)" ignoreCase="false" />
<action type="Redirect" url="error" redirectType="Permanent" />
</rule>
<rule name="system" stopProcessing="true">
<match url="^system/(.*)\.(txt|md|html|yaml|php|twig|sh|bat)$" ignoreCase="false" />
<action type="Redirect" url="error" redirectType="Permanent" />
</rule>
<rule name="vendor" stopProcessing="true">
<match url="^vendor/(.*)\.(txt|md|html|yaml|php|twig|sh|bat)$" ignoreCase="false" />
<action type="Redirect" url="error" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
<system.web>
<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,\,?" />
</system.web>
</configuration>

А затем разверните его вместе со своим приложением в Azure. Кроме того, вы можете найти этот файл конфигурации в webserver-configs папка в вашем приложении. Или вы можете обратиться к https://github.com/Vivalldi/grav/blob/develop/webserver-configs/web.config на GitHub.

Любое дальнейшее беспокойство, пожалуйста, не стесняйтесь, дайте мне знать.

8

Другие решения

По состоянию на март 2018 года я также обнаружил, что мне нужно установить расширение для композитора, чтобы сайт загружался правильно.

Увидеть https://docs.microsoft.com/en-gb/azure/app-service/web-sites-php-configure#how-to-enable-composer-automation-in-azure для деталей.

Без этого я бы увидел пустую страницу при попытке загрузить сайт.

0

По вопросам рекламы [email protected]