Я управляю сервером, на котором работает WordPress MU. Различные блоги, размещенные на сервере, доступны как поддомены, например blog1.mydomain.tld, blog2.mydomain.tld и т. д.
Мне также нужно запустить собственное приложение (reports.mydomain.tld), используя тот же сервер.
Конфигурация моего виртуального хоста выглядит следующим образом:
NameVirtualHost mydomain.tld:80
<VirtualHost mydomain.tld:80>
ServerName mydomain.tld
ServerAlias *.mydomain.tld
ServerAdmin admin@mydomain.tld
DocumentRoot /usr/local/www/mydomain.tld
</VirtualHost>
<VirtualHost reports.mydomain.tld>
ServerName reports.mydomain.tld
ServerAlias reports.mydomain.tld
ServerAdmin admin@mydomain.tld
DocumentRoot /usr/local/www/reports.mydomain.tld/app/webroot/
</VirtualHost>
Когда я пытаюсь получить доступ к субдомену reports.mydomain.tld, WordPress [остаток текста отсутствует]
Я бы не советовал использовать имена хостов в вашем VirtualHost
и NameVirtualHost
директивы. Вместо этого используйте IP-адреса или подстановочные знаки.
Кроме того, когда NameVirtualHost'ing и запрошенное имя хоста могут соответствовать любому виртуальному хосту, предпочтение отдается первому задействованному виртуальному хосту. В вашем случае это будет означать, что подстановочный знак улавливает все.
Также можно убрать посторонние ServerAlias
.
Вместо этого попробуйте:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName reports.mydomain.tld
ServerAdmin admin@mydomain.tld
DocumentRoot /usr/local/www/reports.mydomain.tld/app/webroot
</VirtualHost>
<VirtualHost *:80>
ServerName mydomain.tld
ServerAlias *.mydomain.tld
ServerAdmin admin@mydomain.tld
DocumentRoot /usr/local/www/mydomain.tld
</VirtualHost>
Я бы порекомендовал следующее:
<VirtualHost mydomain.com:80>
ServerName mydomain.com
ServerAdmin admin@mydomain.com
AddType application/x-httpd-php .php
DocumentRoot /path/to/my/app/
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
ExpiresActive On
ExpiresDefault "access plus 1 year"
</FilesMatch>
RewriteEngine On
RewriteRule (.*)-cb\d+\.(.*)$ $1.$2 [L]
<Directory "/path/to/my/app/">
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Ставить
<VirtualHost reports.mydomain.tld>
ServerName reports.mydomain.tld
ServerAlias reports.mydomain.tld
ServerAdmin admin@mydomain.tld
DocumentRoot /usr/local/www/reports.mydomain.tld/app/webroot/
</VirtualHost>
выше
<VirtualHost mydomain.tld:80>
ServerName mydomain.tld
ServerAlias *.mydomain.tld
ServerAdmin admin@mydomain.tld
DocumentRoot /usr/local/www/mydomain.tld
</VirtualHost>
Должен сделать свое дело :)