В моем корневом домене у меня есть .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 и заметил, что он выполняет перенаправление с помощью следующих шагов:
Таким образом, .htaccess в корневом каталоге, похоже, работает нормально. Но автоматический Wordpress .htaccess, похоже, разрушает мою тяжелую работу :-)
Кто-нибудь знает, как я могу изменить Wordpress .htaccess, чтобы он работал?
Это не Wordpress .htaccess, а URL-адрес блога Wordpress.
Войдите в свой Wordpress Admin, а затем перейдите в Настройки-> Общие и измените URL-адрес Wordpress на www.domain.com/subdir.