Много RewriteBase в одном файле .htaccess?

У меня есть домен и wordpress-блог на том же сервере. Теперь у меня проблема (сюрприз). Wordpress находится в /httpdocs/blog/, а домен указывает на /httpdocs/, и я пытаюсь перенаправить его в /httpdocs/domain/. Но, очевидно, у меня есть постоянные ссылки в Wordpress.

Здесь мой текущий .htaccess:

RewriteEngine On

RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]

RewriteBase /
RewriteCond %{HTTP_HOST} domain.com
RewriteCond %{REQUEST_URI} !^/domain
RewriteCond %{REQUEST_URI} !^/cgi-bin
RewriteRule ^(.*)$ domain/$1 [L]

Но, как вы уже предположили, это не работает. Постоянная ссылка Wordpress влияет на /domain/, так что мои изображения и другие URL-адреса идут не так.

Любые советы? Можно ли использовать RewriteBase следующим образом?

Ответы

Ответ 1

Нет, у вас может быть только один базовый URL. Просто перепишите свои правила:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/. /blog/index.php [L]

RewriteCond %{HTTP_HOST} =example.com
RewriteCond %{REQUEST_URI} !^/domain
RewriteCond %{REQUEST_URI} !^/cgi-bin
RewriteRule ^(.*)$ domain/$1 [L]