Как настроить 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%/и сохраните.