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

Wordpress htaccess редирект уничтожает мой не-www перенаправление на www

В моем корневом домене у меня есть .htaccess для перенаправления не-www на www и для перенаправления в подкаталог (содержащий временный веб-сайт). Это делается с помощью следующего кода:

Options +FollowSymLinks
RewriteEngine On

# non-www to www, exclude localhost
RewriteCond %{HTTP_HOST} \.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# temp redir to subdir-wordpress
RewriteRule ^$ /subdir [L]

В подкаталоге запускается установка Wordpress с использованием следующего .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdir/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdir/index.php [L]
</IfModule>
# END WordPress

Происходит то, что люди перенаправляются на http://domain.com/subdir, а я хочу, чтобы они оказались в http://www.domain.com/subdir. Я тестировал curl и заметил, что он выполняет перенаправление с помощью следующих шагов:

  1. domain.com => www.domain.com
  2. www.domain.com => www.domain.com/subdir
  3. www.domain.com/subdir => domain.com/subdir

Таким образом, .htaccess в корневом каталоге, похоже, работает нормально. Но автоматический Wordpress .htaccess, похоже, разрушает мою тяжелую работу :-)

Кто-нибудь знает, как я могу изменить Wordpress .htaccess, чтобы он работал?

Это не Wordpress .htaccess, а URL-адрес блога Wordpress.

Войдите в свой Wordpress Admin, а затем перейдите в Настройки-> Общие и измените URL-адрес Wordpress на www.domain.com/subdir.