проблема перенаправления для test.example.com на example.com в apache - PullRequest
4 голосов
/ 13 декабря 2010

У меня есть сайт example.com и еще один test.example.com. Оба имеют разные конфигурационные файлы. Но когда я ввожу URL test.example.com, он перенаправляется на example.com.

configuration file for example.com

 <VirtualHost *:80>
  ServerName  example.com
  ServerAlias www.example.com

  DirectoryIndex index.html
  DocumentRoot example-document-path

  Options -Indexes

  ErrorDocument 404 /errors/404.html
  ErrorDocument 403 /errors/404.html

 <Location "/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    PythonPath "['path', 'path'] + sys.path"
    SetEnv DJANGO_SETTINGS_MODULE example.settings
    PythonInterpreter example
    PythonAutoReload On
    PythonDebug On
  </Location>

</VirtualHost>

Файл конфигурации Apache для test.example.com

<VirtualHost *:80>
  ServerName  test.example.com
  ServerAlias www.test.example.com

  DirectoryIndex index.html
  DocumentRoot test-example-document-path

  Options -Indexes

  ErrorDocument 404 /errors/404.html
  ErrorDocument 403 /errors/404.html

 <Location "/foo/bar/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    PythonPath "['path', 'path'] + sys.path"
    SetEnv DJANGO_SETTINGS_MODULE example.settings
    PythonInterpreter example
    PythonAutoReload On
    PythonDebug On
  </Location>

</VirtualHost>

Корневой URL test.example.com перенаправляет на example.com, который мне не нужен? Как я понятия не имею? Может кто-нибудь предложить что-нибудь?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 13 декабря 2010

Первое предположение - это проблема с кэшем, второе - ваш index.html (или .php или любой другой) файл на test.example.com.Если это не так, запустите:

$ curl -vvv test.example.com

и посмотрите, какие заголовки отправляются обратно.Они дадут вам некоторые подсказки о природе перенаправления.Если это не решит проблему, опубликуйте вывод здесь.

Редактировать : Хорошо, если вы получаете 302 от Apache, есть только ограниченное количество вещей, которые могут бытьответственность.На ум приходят следующие вещи:

  • .htaccess файл в директивах test.example.com root
  • Redirect и Alias в конфигурации Apache (egrep -R 'Redirect|Alias' /etc/apache2/)
  • ModRewrite правила с перенаправлениями (egrep -R '\bR\b' /etc/apache2/)

Кроме того, убедитесь, что вы на самом деле общаетесь с сервером, с которым ожидаете поговоритьнапример, curl <a href="http://test.example.com/blahblahblah" rel="nofollow">http://test.example.com/blahblahblah</a>, затем введите в журнал доступа blahblahblah).

0 голосов
/ 13 декабря 2010

Скорее всего, это связано с настройками DNS. Я сомневаюсь, что это как-то связано с Apache. Вероятно, существует запись псевдонима, указывающая test.example.com на example.com ИЛИ запись псевдонима с подстановочным знаком, указывающая * .example.com на example.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...