Wordpress имеет некоторые RewriteRules, которые он хочет использовать в файле .htaccess. Это должно выглядеть примерно так:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Я думаю, что все, что вам нужно сделать, это взять и поместить его в файл .htaccess в корне вашего документа (где http://www.newdomain.com/). Если у вас нет специальных правил или опций перезаписи в файле .htaccess, вы можете просто переместить файл из / blog / и в /. Вы не хотите эти правила в обоих местах.
Затем в админ панели WordPress (вам нужно перейти сюда: http://www.newdomain.com/blog/wp-admin/options-general.php) есть 2 поля, одно для WordPress address (URL)
(это должно сказать http://www.newdomain.com/blog/) и одно для Site address (URL)
(это должно сказать http://www.newdomain.com/). И я думаю, что это все, что тебе нужно сделать.
Если вы используете пользовательские темы, вы можете дважды проверить любой абсолютный URI, который у вас есть в верхних / нижних колонтитулах / и т.д.
Здесь вы найдете дополнительную информацию: Предоставление Wordpress своего собственного каталога
РЕДАКТИРОВАТЬ: я забыл упомянуть, что вам нужно создать index.php в корне вашего документа. В приведенной выше ссылке в разделе Используя существующий подкаталог установки , вам необходимо выполнить шаги для создания index.php. Вам нужно только 2 строки.
Что касается конфликта кодов-воспламенителей / WordPress. Возможно, вам понадобится соединить 2 правила, но это может быть не так просто сделать. Вы должны либо переместить правила воспламенителя кода в их собственный каталог, либо использовать RewriteCond
, чтобы убедиться, что они не наступают друг на друга. Например, добавление RewriteCond !/index.php
, чтобы переписанный URI wordpress не перезаписывался воспламенителями кода.