htaccess и спасение 301
Коротко о том, что ждет вас в этой серии статье.
Эта статья познакомит вас с такими понятиями как .htaccess и редирект или перенаправление (в частности 301 редирект).
Все это будет сопровождаться жизненными примерами и рецептами, как впрочем, и все мои статьи.
Итак .htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.
Взято из википедии.
Так же оттуда –
Файл .htaccess может быть размещён в любом каталоге. Директивы этого файла действуют на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess)
Ежели еще проще, то .htaccess – это файл, с помощью которого можно регулировать доступ к разного вида файлам, разделам вашего сайта. К примеру, ваш сайт регулярно спамят комментариями, некоторые спамеры до того оборзели, что спамят с одного и того же IP адреса, так вот если добавить этот ip адресс в .htaccess - мы заблокируем доступ к сайту злостному спамеру. Или же мы не хотим пускать кого не попадя в наш административный раздел на джумле – http://мой_сайт/administrator (это действие дополнительно повысит безопасность сайта).
Для этого надо лишь добавить следующий код в файл .htaccess и поместить этот файл в папку /мой_сайт/administrator/ на вашем хостинге.
Order deny,allow
Deny from all
Allow from 192.168.11.1
Где 192.168.11.1 это ваш IP адрес, с которого можно будет получить доступ в административный раздел.
Так же с помощью .htaccess’а – этого замечательного файла, решается такая насущная для многих проблема – перенаправление с http://www.mydomain.com на http://mydomain.com:
RewriteEngine OnRewriteBase /RewriteCond %{HTTP_HOST} ^www.mydomain.com$ [NC]RewriteRule (.*) http://mydomain.com/$1 [R=301]
Но что мне больше всего понравилось в этом файле и что жутко облегчает жизнь вебмастерам, так это возможно редиректа (перенаправления) разного типа страниц.
К примеру – вы раньше использовали русские названия в адресе (как раньше я использовал русские названия категорий в адресе) и потом решили от них избавиться.
В моем случае на русском была категория –
Пример url ДО удаления раздела из урл - http://tytto.ru/%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8/v-predverii-glavnogo-jenskogo-dna.html
Пример url ПОСЛЕ удаления раздела из урл http://tytto.ru/v-predverii-glavnogo-jenskogo-dna.html
Вопрос в том, как сделать 301 редирект (перенаправление) для подобных урлов с русским разделом на урл без раздела. Иначе - те, кто будет приходить на ваш сайт по старым ссылкам, в которых фигурируют эти русские названия, будут получать вместо искомой страницы 404 ошибку. Поскольку адрес то изменился!
Как избавиться от русских названий, можно почитать в моей статье посвященной замечательному компоненту для джумлы sh404sef - Настройка компонента для ЧПУ sh404sef
Чтобы не обманывать ожиданий посетителей, да и не злить поисковые системы, которые тоже жуть как не любят когда ссылки ведут на 404ую ошибку, опять берем в руки .htaccess и добавляем код для того чтобы сделать редирект с русскими символами в адресе на обычный адрес.
RewriteRule ^.+?/([^/]+\.html)$ /$1 [L,R=301]
Все, можно расслабиться и закурить сигару или выпить чашечку кофэ, дело сделано!
Рекомендую посмотреть забористый клип отличной группы Fujiya & Miyagi Collarbone, нарисованный в детском стиле:
Разработка web сайтов в Москве и не только в столице нашей родины - до сих пор самая востребованная услуга, что не удивительно, ведь интернет сайты растут с геометрической прогрессией. Каждая уважающая себя фирма обязательно имеет представительский сайт на просторах интернета. Да, что там фирмы, каждый работник в резюме уже указывает личную страничку в интернете, где представлено его резюме, портфолио и пр.


Комментарии
Конечно же дело в нем. Просто переименуйте ваш файл htaccess.txt находящийся в корневом каталоге сайта в .htaccess (точка перед именем файла обязательна!)
Админка русифицировалас ь....сайт только в части текстов , а ЗАГОЛОВКИ НЕТ
Читаю..читаю...читаю инет...много отсылают на htaccess.txt
Подскажите, пожалуйста, действительно ли проблема в файле .htaccess (у меня в директории htaccess.txt)
Буду признательна.
Я не большой спец по htaccess, но ИМХО не правильно написано правило. Возможно стоит указать целиком урл с которого вы хотите сделать 301 редирект -
RewriteRule http://www.sait.ru/stat/page.htm http://www.sait.ru/question/page.htm [R=301,L]
делаю 301 редирект таким образом:
Redirect 301 /stat/page.htm http://www.sait.ru/question/page.htm
все хорошо, но конечная ссылка на которую производится переход после редиректа выглядить как http://www.sait.ru/question/page.htm?url=stat/page.htm
как избавится от этого вопроса и ненужного окончания?
RSS лента комментариев этой записи