Редирект с index.html на контейнер
Сегодня, в процессе общения с wget выяснилось, что он добавляет index.html для контейнеров MODX.
То есть, адрес sitename.ru/section/, а этот товарищ качает sitename.ru/section/index.html, получая в ответ заслуженный 404 not found.
Решаем как обычно, просто добавляя правила в Nginx:
Таким образом, все запросы к индексным файлам будут направляться на родителя:
То есть, адрес sitename.ru/section/, а этот товарищ качает sitename.ru/section/index.html, получая в ответ заслуженный 404 not found.
Решаем как обычно, просто добавляя правила в Nginx:
location /index.html {
rewrite / / permanent;
}
location ~ ^\/(.*?)\/index\.html$ {
rewrite ^(.*/)index.html http://$host$1 permanent;
}
Первое правило редиректит /index.html из корня, а второе — index.html из всех контейнеров.Таким образом, все запросы к индексным файлам будут направляться на родителя:
http://sitename.ru/index.html -> http://sitename.ru/ http://sitename.ru/section/index.html -> http://sitename.ru/section/ http://sitename.ru/section/topic/index.html -> http://sitename.ru/section/topic/СЕОшникам должно понравиться.
Комментарии: 7
Для Apache можно добавить в .htaccess:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.(htm(l)?|php)\ HTTP/
RewriteRule ^(([^/]+/)*)index\.(htm(l)?|php)$ http://mysitename\.com/$1 [R=301,L]
Эффект тот же.
index.php лучше убрать, иначе /manager/index.php зациклит и ты не сможешь войти в админку.
Да вроде работает пока… Выхожу и вхожу в админку нормально.
Если запросить адрес
Долго искал решение для правильного редиректа, но так и не нашел.
http://modx.pro/help/index.html
то перенаправляет на http://bezumkin.ru/sections/
Аналогично и с другими страницами вложенностью больше двух. Всегда перенаправляет на второй уровень.Долго искал решение для правильного редиректа, но так и не нашел.
Вот пару часов потратил чтобы разобраться, а через пять минут после публикации тут своего сообщения, нашел вариант редиректа:
rewrite ^(.*/)index.html http://$host$1 permanent;
Проверил пока на одном сайте. Работает.
Спасибо, так лучше.
Добавил в топик.
Добавил в топик.
Есть один нюанс. Если на сервере есть папка с лежащим в ней файлом index.html, то при обращении к ней мы получим циклическую переадресацию.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.