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

Перенаправление субдомена работает, но сервер не найден, ошибка: Linode

Вот мой виртуальный хост:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName policy.domain.com
    ServerAlias www.policy.domain.com
    DocumentRoot /policy
    ErrorLog /policy/error.log
    CustomLog /policy/custom.log combined
    <Directory /policy/>
        Options  +IncludesNOEXEC
        AllowOverride None
        Order allow,deny
        allow from all

        # redirect non www to www
        RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]



    </Directory>


</VirtualHost>

Я пробовал разные настройки, но страницы на www не появляются. Тем не менее, удаление php работает хорошо, когда я удаляю условие без www на www. Чтобы быть конкретным, apache перенаправляет не www на www, но на www показывает ошибку «сервер не найден».

Ваша проблема (фактический вопрос), похоже, что ваши записи DNS неверны для www.policy.domain.com. В качестве примечания… Согласно документации Apache, вам, вероятно, не следует использовать для этого mod_rewrite.

http://httpd.apache.org/docs/2.2/rewrite/avoid.html#redirect На приведенной выше странице указано, что перезапись мода не должна использоваться для перенаправления определенных местоположений на другой поддомен.

правильное использование, вероятно, предполагает разбиение policy.domain.com и www.policy.domain.com на отдельные виртуальные хосты и использование директивы перенаправления в зависимости от ситуации.

наконец, поскольку нет подробностей о том, ПОЧЕМУ вам нужна эта настройка, рекомендуется заменить HTTP_HOST статическим www.policy.domain.com.

и напишите наконец: похоже, что тур error_logs может быть читаемым в Интернете ... Это задумано? Вы приняли меры для их защиты?