Мы постепенно переводим наш существующий веб-сайт на платформу 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