Назад | Перейти на главную страницу

iis7 rewritebase для частей веб-сайта (wordpress)

Мы постепенно переводим наш существующий веб-сайт на платформу wordpress. В настоящее время у меня есть 3 каталога, настроенных в подкаталоге, но они должны выглядеть так, как будто они находятся в корне сайта.

Пример: старый сайт находится по адресу http://www.site.com/ но база wordpress находится в http://www.site.com/wp/ поэтому, когда вы находитесь на странице категории, вместо того, чтобы выглядеть как http://www.site.com/wp/category это должно выглядеть как http://www.site.com/category.

Об этом я позаботился с помощью модуля IIS7 URL Rewrite. Проблема только в том, что все гиперссылки на сайте по-прежнему указывают на /wp/ в качестве основы. Как мне переписать базу только для файлов wordpress, не затрагивая остальную часть старого сайта? Нужно ли мне изменять файл web.config? И если это так, могу ли я поместить файл конфигурации в /wp/ каталог или корень сайта?

Обычно это делает наш SA, но его нет, и мне нужно запустить эти страницы сегодня :(

Надеюсь это поможет:

Мы использовали файл web.config и изменили его, чтобы настроить перенаправление URL. Этот файл должен находиться в вашем каталоге / wp /. Фактически, вам понадобится по одному файлу web.config в каждой папке, для которой вы выполняете перенаправления.

Ответ был действительно прост. В настройках WordPress есть место для URL-адреса блога и URL-адреса физического местоположения. Все, что мне нужно было сделать, это положить http://www.site.com в URL-адресе блога и http://www.site.com/wp/ для фактического URL-адреса местоположения. Единственная проблема с этим методом заключается в том, что он иногда приводит к тому, что предварительный просмотр сообщений не работает. Для исправления этого потребуется немного переписать URL. Я не уверен, что это 100%, но это будет выглядеть примерно так (не стесняйтесь, кто-нибудь исправит ошибку, и я обновлю ее):

<rule name="preview rewrite">
    <conditions>
        <add input="{QUERY_STRING}" pattern="p=([0-9])&preview=true" />
    </conditions>
    <action type="Rewrite" url="http://www.site.com/index.php?p={C:1}&preview=true" />
</rule>

Также, если ваши изображения в стандарте wp-contents/uploads папку, вы будете давать URL-адреса, ориентированные на wordpress, по всему сайту. Для этого лучше всего поместить папку загрузок вне папки wp-contents. Я обычно помещаю его в корень сайта и даю ему имя вроде images или assets