Настройка постоянных ссылок Wordpress на сайте ASP.NET MVC - PullRequest
2 голосов
/ 19 января 2012

У меня есть сайт NopCommerce (ASP.NET MVC), и я пытаюсь добавить блог Wordpress в качестве подпапки основного сайта.

Установка Wordpress прошла нормально, все конфигурационные файлы созданы, и блог работает нормально, если вы просматриваете его через браузер.

Однако теперь я хочу настроить красивые постоянные ссылки, используя название поста.

Обычно при настройке постоянных ссылок создается файл .htaccess для Apache или web.config для переписывания URL-адресов Windows IIS7.

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

Я предполагаю, что поскольку ASP.NET MVC использует Routes, сайт Wordpress не знает, что настраивать.

Может кто-нибудь предложить мне руководство по настройке постоянных ссылок? Нужно ли мне устанавливать Route на моем сайте MVC?

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

В конце я скопировал файл web.config из одного из моих существующих блогов, который находится на стандартном веб-сайте C #.

Обычно Wordpress генерирует сам файл web.config.Я могу только предположить, что Wordpress еще не был настроен для установки на веб-сайтах .NET MVC.

Создание файла web.config в корневом каталоге файлов блога Wordpress, содержащего следующий код, должен обеспечить его работу:

<?xml version="1.0" encoding="UTF-8">
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <clear/>
                <add value="index.php"/>
            </files>
        </defaultDocument>
        <rewrite>
            <rule name="wordpress" patternSyntax="wildcard">
                <match url="*"/>
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
                </conditions>
                <action type="Rewrite" url="index.php"/>
            </rule>
        </rewrite>
    </system.webServer>
</configuration>
0 голосов
/ 02 февраля 2012

Если вы установите WordPress на IIS, вы заметите, что ваши дружественные URL не работают.Это связано с тем, что WordPress хочет использовать надстройку apache под названием «mod_rewrite». Это краткое изложение того, что он возьмёт URL-адрес вашего дружественного браузера и фактически изменит их на index.php на серверной части.Одна из проблем этого метода заключается в том, что IIS не загружает моды Apache.Вот простой и бесплатный способ обойти это:

На вашем сервере IIS загрузите и установите ISAPI_Rewrite Lite.Этот фильтр выполняет работу mod_rewrite для IIS.При загрузке обязательно используйте бесплатную версию Lite.Эта облегченная версия не сильно ограничивает продукт и прекрасно подойдет для нашего блога WordPress.Просто установите Rewrite Lite в расположение по умолчанию для этого руководства.

Затем добавьте фильтр ISAPI на свой сайт IIS.Вы найдете этот параметр, щелкнув правой кнопкой мыши свой сайт IIS -> свойства -> вкладка Фильтры ISAPI -> Добавить ... Назовите фильтр по своему желанию, и ваш путь к исполняемому файлу должен быть следующим:C: \ Program Files \ Helicon \ ISAPI_Rewrite3 \ ISAPI_Rewrite.dllНажмите OK в обоих окнах, чтобы сохранить настройки. Далее перейдите к C: \ Program Files \ Helicon \ ISAPI_Rewrite3

Здесь мы отредактируем httpd.conf (Примечание. В этом разница между платной версией и версией Lite. В платной версии вам нужно будет отредактировать файл .htaccess в корневом каталоге веб-папок)

Откройте файл httpd.conf в wordpad и вставьте в эти строки:RewriteBase /RewriteCond% {REQUEST_FILENAME}! -FRewriteCond% {REQUEST_FILENAME}! -DRewriteRule ^ (. *) $ Index.php? P = $ 1 [NC, L] Сохраните и выйдите из этого файла. Чтобы внести изменения в IIS, перейдите в начало, запустите и запуститекоманда: iisreset / restart

Теперь давайте изменим ваши настройки WordPress.Перейдите к http://yourblog/wp-admin Перейдите к левой боковой панели меню -> Настройки -> Постоянные ссылки Теперь вы можете выбрать, как вы хотите, чтобы ваши сообщения выглядели.Я выбираю пользовательский параметр и просто: /% postname% Вот как вы видите этот блог, работающий сегодня. Нажмите «Сохранить изменения», и вы должны увидеть свои новые дружественные URL-адреса!
...