Много 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]