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

Настроить перезапись apache, чтобы предлагать домашнюю страницу в корневом каталоге, когда остальная часть сайта находится в подкаталоге?

По устаревшим причинам у меня есть сайт wordpress, который в основном находится в подкаталоге: http://www.zmxmusic.com/site . Однако он также обслуживает домашнюю страницу по адресу http://www.zmxmusic.com .

У меня нет доступа к используемой в настоящее время конфигурации apache, и мне трудно воспроизвести это поведение на новом сервере. Сайт wordpress находится в файловой системе по адресу / srv / zmx / wp / site, а домашняя страница wordpress и siteurl определены как http://www.zmxmusic.com/site. У меня это в конфигурации apache:

<VirtualHost *:80>
  ServerName www.zmxmusic.com
  ServerAlias ...omitted... 
  DocumentRoot /srv/zmx/wp

  <Directory /srv/zmx/wp>
    Options FollowSymLinks
    AllowOverride FileInfo Options
    Order allow,deny
    Allow from all
  </Directory>

  LogLevel info
  ErrorLog /var/log/apache2/zmx_app-error.log
  CustomLog /var/log/apache2/zmx_app-access.log combined

  RewriteEngine On
  Options +FollowSymlinks

  RewriteCond %{REQUEST_URI} !^/(site/|index\.php)
  RewriteCond %{SCRIPT_FILENAME} !-f
  RewriteRule ^(.*)$ /site/$1 [L]
</VirtualHost>

и я все еще получаю отказ в доступе в корне. Предложения?

РЕДАКТИРОВАТЬ

Хорошо поймал. И я заставил его работать, изменил его на:

RewriteCond %{REQUEST_URI} !^/site.*
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^/(.*)$ /site/$1 [L]

Даже работало без добавления косой черты ... в основном это был первый RewriteCond

(отредактировано, потому что я еще не могу ответить на свой вопрос)

Я получил его, изменил его на:

RewriteCond %{REQUEST_URI} !^/site.*
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^/(.*)$ /site/$1 [L]

Даже работало без добавления косой черты ... в основном это был первый RewriteCond