Много RewriteBase в одном файле .htaccess? - PullRequest
14 голосов
/ 12 марта 2010

У меня есть домен и 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 Ответ

9 голосов
/ 12 марта 2010

Нет, у вас может быть только один базовый 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]
...