По устаревшим причинам у меня есть сайт 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