Приложение Django, WordPress блог, каноническое перенаправление Apache 301 -> почему у меня бесконечный цикл? - PullRequest
0 голосов
/ 05 апреля 2011

У меня есть приложение django в / (обслуживаемом WSGI) и WordPress блог в / blog /. Я пытаюсь настроить перенаправление 301 с example.com на www.example.com, и мне удалось это сделать, кроме блога WordPress. Доступ к блогу запускает бесконечный цикл перенаправления.

Конфигурация Apache в /etc/apache2/sites-enabled/example.com

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / http://www.example.com/
</VirtualHost>

<VirtualHost *:80>
   ServerName www.example.com
   DocumentRoot /srv/www/example.com/public_html/
   Alias /blog "/srv/www/example.com/public_html"
</VirtualHost>

Блог WordPress имеет .htaccess в корневом каталоге /srv/www/example.com/public_html:

.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

1 Ответ

0 голосов
/ 05 апреля 2011

Хорошо, я выяснил, почему сервер давал бесконечное перенаправление.

Блог Wordpress был настроен (в настройках) на example.com.Таким образом, он будет внутренне переписывать URL-адрес с www.example.com/blog на example.com/blog.В этот момент мой редирект (example.com -> www.example.com) сработал, отправив бесконечный цикл.

Решением было просто установить сайт «www.example.com», а не «example.com.Конфигурация была правильной.

...