.htaccess редирект на без www
Здравствуйте. Кто нибудь делал редирект всех адресов сайта на без www? Весь гугл пестрит
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]Все бы отлично но если взять не www.site.ru а www.site.ru/nameurl.html то… то получится ссылка вида site.ru/index.php?q=nameurl/ Комментарии: 11
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
посмотри закоментированные строки в ht.access
там есть решение конкретно под модкс
Насчет закомментированных строчек для выхода из ситуации не знаю, но в свое время я столкнулся с необходимостью убрать дубли страниц, что требовалось по SEO (site.ru/index.php?id=..., site.ru/index.php?q=… и другие).
Я написал скрипт, который можно оформить либо сниппетом в начале каждого шаблона, либо, что удобнее — плагином по событию.
У меня включены дружественные вложенные урлы:
При загрузке страницы — получаешь id и alias документа (если у контейнеров и неконтейнеров у тебя разные окончания, то смотришь изФолдер или нет)… Потом получаешь все alias родительских документов, склеиваешь все это дело в ссылку и делаешь 301 редирект. Есть еще нюансы с главной страницей, но, если возьмешься писать что-то подобное, то поймешь.
То есть в итоге получится, что сервак у тебя перекинет на домен без www, а php уже докрутит это до дружественного урла. Заодно уберешь дубли страниц.
Не считаю свой вариант каким-то оптимальным, но он работает.
Он работает независимо от домена, поэтому использую его в «сборке» для всех вновь создаваемых сайтов и не задумываюсь о редиректах
Если смотреть пример от разработчиков MODX, то ваш код должен был быть такой: