Как настроить Windows Azure для Url Rewrite с помощью WordPress?

Я только что создал сайт с использованием Windows Azure и их шаблон для блога WordPress. Я смог обновить записи CNAME и Alias, чтобы правильно переслать мой домен на их сайт. Когда я перехожу на: www.myblog.net, я перенаправлен на: myblog.azurewebsites.net, и браузер показывает www.myblog.net, что я и хочу.

Все это прекрасно работает. Сайт загружается отлично, и все хорошо.

Проблема, однако, возникает, когда я пытаюсь перейти на страницу с постоянной ссылкой. Через конфигурацию WordPress я обновил свои постоянные ссылки в этом формате: http://www.myblog.net/blog/The-Post-Name-Is-Here. Проблема в том, что когда я пытаюсь перейти к этому URL-адресу, я получаю эту ошибку:

Ресурс, который вы ищете, удален, изменил его имя или временно недоступен.

Если я перейду к ссылке для той же темы (например, http://www.myblog.net/?p=241), страница будет найдена, и все будет хорошо.

Я исследовал это довольно много и обнаружил, что для apache существует переписывание URL, но это явно не сработает для меня. Я также обнаружил, что для IIS существует переписывание URL, и я играл с этим локально. Вы можете настроить это для правильного управления перепиской URL. Тем не менее, такой панели IIS не существует на портале конфигурации веб-сайтов Windows Azure.

Я также много читал о редактировании web.config и htaccess, но ни один из этих файлов не находится в моем каталоге wwwroot (или любых дочерних каталогах) для моего сайта на лазурном.

Итак, кто-нибудь знает, как настроить лазурные веб-сайты для правильного управления позициями?

Заранее благодарим за помощь!

Ответ 1

WordPress на веб-сайтах Windows Azure работает под Microsoft Internet Information Services (IIS), а не Apache. IIS также поддерживает перезаписи URL, но конфигурация выполняется в файле Web.config, а не в файле .htaccess.

Сначала в настройках WordPress измените постоянную ссылку на пользовательскую структуру без "index.php", например:

/%year%/%monthnum%/%day%/%postname%/

Также убедитесь, что в разделе "Настройки WordPress", "Общие настройки", адрес (URL) и адрес сайта (URL) WordPress указаны правильно.

Далее, используя FTP, WebMatrix или другой инструмент, создайте файл Web.config в корневом каталоге сайта WordPress:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Main Rule" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Для пошагового руководства обратитесь к Довольно WordPress Permalinks на Azure. Дополнительную информацию см. В Перемещение блога WordPress в Windows Azure - Часть 4: Допустимые постоянные ссылки и правила перезаписи URL.

Ответ 2

если ваш блог в Wordpress настроен как www.myblog.net, то в вашей постоянной ссылке вы не можете иметь/блог до тех пор, пока вы не измените это в ваших настройках wordpress. Я думаю, ваша постоянная ссылка должна выглядеть примерно как http://www.myblog.net/index.php/The-Post-Name-Is-Here

Перейдите в настройки → permalinks и выберите один из вариантов. Или, если вы хотите использовать собственный URL-адрес, введите:/index.php/%postname%/и сохраните.