Как убрать редирект 301 – База знаний Timeweb Community
Редирект — это перенаправление посетителя страницы на другую, на тот случай, если посещаемая страница не работает или в ней находится неподходящая информация. Но иногда от редиректа приходится избавляться. Сейчас расскажу о трех способах сделать это.
Как убрать редирект через панель управления сервера
Описанный ниже метод подойдет тем, кто настроил панель управления ISPmanager и меняет параметры сервера через нее.
Если вы используете новую версию интерфейса ISPmanager, то инструкция для вас немного изменится. На том шаге, где надо зайти в меню «Редиректы», надо будет сначала нажать на кнопку «Скрипты». Это новое меню, в которое спрятали нужный нам пункт настроек. В остальном процесс ничем не отличается.
Пользователям Plesk придется полностью удалить домен, на котором уже настроено перенаправление, и создать новый. К сожалению, эта система иначе делит домены на категории, задавая им тип еще на этапе создания, и не оставляет другого способа убрать переадресацию.
Переадресация в ней задается еще в момент создания нового домена. В меню «Создать», когда выбирается тип хостинга, надо указать «Хостинг веб-сайтов», а не «Перенаправление». Тогда сайт будет функционировать должным образом. Больше ничего делать не нужно.
Но важно учесть, что при удалении домена вместе с ним будут удалены все связанные папки, веб-приложения и файлы.
Как отключить переадресацию в плагине Redirection для WordPress
Это инструкция для тех, кто делал редирект, как я писал тут. Через плагин Redirection для WordPress.
Чтобы такой удалить:
- Открываем настройки плагина.
- Кликаем по прямоугольнику напротив одного или нескольких редиректов (можно вообще всех, кликнув по пустому прямоугольнику рядом со словом Type).
- Затем ищем кнопку Delete и нажимаем на нее. Возможно, свое намерение придется подтвердить, нажав ОК или Accept.
После этого настроенная ранее переадресация перестанет работать. (.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
Встречают укороченные варианты записи вроде такой:
Redirect 301 / http://example.com/index.html
Независимо от типа, редирект выключить можно двумя способами.
- Полностью стереть соответствующий код из .htaccess.
- Или поставить перед ним значок #. Так мы его закомментируем, и он перестанет работать. Можно будет проверить, как поведет себя сайт, не удаляя переадресацию полностью. Потом можно легко все вернуть как было, удалив комментарии.
На этом все. Теперь вы знаете, как удалять и временно отключать редиректы в .htaccess и в панели управления. Этих трех способов должно хватить.
Как сделать редиректы в htaccess
1
Добавить www
Для http:
RewriteCond %{HTTP_HOST} !^www.
lawyer/(.+)/$ /$1
Это, кажется, не работает … конечно, я могу получить доступ к url как к http://mywebsite.com/my-lawyer-profile
, но мне нужно, чтобы URL всегда переписывался.
Поделиться Источник dcolumbus 30 августа 2012 в 21:13
3 ответа
- Htaccess удалить часть URL
У меня есть это URL: http://www.website.nl/pagina/4/wie-ben-ik.html pagina-это настоящий документ php. 4-это идентификатор веб-страницы, с идентификатором я получаю результаты из базы данных. Могу ли я изменить этот URL на http://www.website.nl/wie-ben-ik с помощью htaccess? Спасибо!
- htaccess удалить часть url
мой сайт имеет URL-адреса, похожие на http://sitename.com/sydney/manly-beach-102.htm я изменил свои постоянные ссылки, и у меня больше нет номера в url.
/lawyer/(.+)$ /$1 [NE]
(Флаг NE предотвращает применение дополнительного слоя %-escaping, так как вы пишете в части пути, а не в сегментах запроса.)
Мне нужно, чтобы он автоматически изменил url с /lawyer/my-lawyer-profile на /my-lawyer-profile/
Если вы говорите, что хотите переместить URL, отображаемое в браузере, в более короткую версию: это не переписывание, а обычный старый редирект. Вы можете использовать флаг R для переадресации (как упоминалось выше), но на самом деле нет необходимости доставать швейцарскую армейскую бензопилу mod_rewrite для простого перенаправления.
Redirect permanent /lawyer /
Поделиться bobince 30 августа 2012 в 21:48
- удалить строку из url (.htaccess)
Мой URL выглядит примерно так: example.com/index.php?redirected=1 в моем .htaccess -файле я хочу удалить последнюю часть моего url.
(.*) http://www.example.com/$1 [L,R=301] Но по какой-то причине это не…
- удалить строку из url (.htaccess)
В настоящее время у меня есть 100+ URLs на моем сайте в этом формате: http://www.example.in/view_retailer/homepage Я хочу удалить /view_retailer/ из всех URLs, поэтому они должны выглядеть примерно так http://www.example.in/homepage Другими словами, Я бы всегда удалял /view_retailer/ из url. Я…
Похожие вопросы:
Как удалить часть a URL с помощью .htaccess
У меня есть url такой же. /domains/details.php (NOTE: domains динамичен и может быть чем угодно) Как удалить часть domains из URL, используя .htaccess, чтобы фактический поиск был: /details.php OR…
htaccess удалить часть url
У меня есть URL-адреса, структурированные следующим образом: /!#/pretty-url/ Мне нужно удалить его !# таким образом, URL-адреса будут выглядеть следующим образом: /pretty-url/ Что было бы правильным. ..
.htaccess: заменить часть url
У меня есть несколько дубликатов контента и я хочу перенаправить их на правый url (удалите часть url и перенаправьте) Образцы: http://www.domain.com/en/url/1-url http://www.domain.com/es/url/1-url…
Htaccess удалить часть URL
У меня есть это URL: http://www.website.nl/pagina/4/wie-ben-ik.html pagina-это настоящий документ php. 4-это идентификатор веб-страницы, с идентификатором я получаю результаты из базы данных. Могу…
htaccess удалить часть url
мой сайт имеет URL-адреса, похожие на http://sitename.com/sydney/manly-beach-102.htm я изменил свои постоянные ссылки, и у меня больше нет номера в url. Я хотел бы сделать 301 редирект в моем файле…
удалить строку из url (.htaccess)
Мой URL выглядит примерно так: example.com/index.php?redirected=1 в моем .htaccess -файле я хочу удалить последнюю часть моего url. Я так и написал: RewriteCond %{HTTP_HOST}. ..
htaccess: удалить вторую часть url
В настоящее время у меня есть 100+ URLs на моем сайте в этом формате: http://www.example.in/view_retailer/homepage Я хочу удалить /view_retailer/ из всех URLs, поэтому они должны выглядеть примерно…
Url перезапись htaccess удалить часть url
Во-первых, я знаю, как переписать URL как example.com/test.php?id=1. Чего я не знаю, так это как удалить test.php часть url так, чтобы новый url назывался: example.com/1/ Я надеюсь, что кто-то…
.htaccess удалить часть URL
Мой сайт magento имеет такие пути https://www.test.com/manufacturer-bourgeat.html Но мне нужно удалить часть производителя , когда пользователь переходит на такие страницы. любить…
Как удалить последнюю часть моего URL с помощью .htaccess?
В настоящее время у меня есть URL, который выглядит так : www.mywebsite.com/подтвердить/ZChCQhXNJ5i Последняя часть URL — это случайная строка. Я хочу удалить его из своего URL, чтобы получить…
Полезности htaccess | Битрикс-веб-мастер | pai-bx.com
В данном посте буду собирать все полезности для htaccess. Все в одном месте решил собрать для себя, чтобы не рыться каждый раз в поисках нужного решения. Буду накидывать информацию по мере необходимости
Интересный образец файла htaccess с основными задачами
############################################################################ #### Cтандартный .htaccess для проектов #### ############################################################################ RewriteEngine On # Директива включает редиректы. RewriteBase / # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1 Options +FollowSymLinks # Разрешает переход по символическим ссылкам. ############################################################################ #### Перенаправляем протокол https на http #### ############################################################################ RewriteCond %{HTTPS} on # Проверяем наличие https в URL.https://%1%{REQUEST_URI} [L,R=301]
Убрать index.php из URL
3 years ago | 21.6K
Для продвижения сайта в интернет, через поисковые системы, необходимы производить оптимизации. При создании сайта, может произойти ситуация, когда страница открывается по адресу /blog/index.php и /blog/. Такая ситуация негативно отразится на позициях вашего сайта в поисковых системах.
В этой статье мы рассмотрим, как с помощью файла .htaccess (если у вас веб-сервер apache), избавиться от дублирования контента.
Оставлять index.php в адресной строке сайта или лучше убрать?
Для ответа на этот вопрос, сравните два варианта URL-сайта в адресной строке браузера.
Пример 1:
https://ВАШ_САЙТ.COM/blog/index.php?p=13s332kkxs
Если посмотреть на URL в целом и GET-параметр после index.php, сложно представить какая статья может находиться по данной ссылке и при индексации сайта, поисковые роботы учитывают в том числе ключевые слова в URL-сайта.
Обратите внимание, что модуль mod_rewrite должен быть включен в настройках сервера Apache.
Базовые настройки Apache для локальной разработки создания сайтов вы можете посмотреть онлайн в первом видеоуроке курса PHP/MySQL.
Выводы
Создать рабочий функционал вашего веб-сайта — это только 50% выполненной задачи и убрать index.php из строки браузера — это только маленькая часть.
Для того, чтобы ваш сайт полюбили поисковые системы и ваш сайт был в первых позициях в поисковой выдачи, необходимо провести SEO-оптимизации всей структуры вашего сайта и лучше, чтобы часть SEO-оптимизаций проводилась на этапе разработки.
В нашем курсе Профессия веб-программист, мы рассматриваем вопросы SEO-оптимизации сайта и вы узнаете как поднять ваш веб-сайт на высокие позиции в Google, Yandex.
301 редирект через .htaccess (примеры) ~ Webmister
301 редирект с одной страницы на другую
1. .*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Файл .htaccess — Раздел помощи
Файл .htaccess позволяет производить дополнительную конфигурацию веб-сервера Apache для достижения таких целей, как:
- Переадресация на другой домен
- Ограничение доступа к сайту
- Изменение значений директив PHP
- Отображение собственных страниц ошибок
Редактирование файла
Домены с кириллическими символами
При использовании кириллических доменных имён в файле .htaccess, их необходимо указывать в формате Punycode. Перекодировать их можно с помощью данного сервиса.
Переадресация с одного сайта на другой
Для переадресации с одного сайта на другой достаточно добавить следующие строки в файл .htaccess:
где from\.com — имя домена, с которого должна осуществляться переадресация, а «to. com» — ее цель.
При этом экранирование символа точки обратной косой чертой \ во второй строке не является обязательным.
Переадресация поддомена в подкаталог сайта
Для переадресации запросов на поддомен в подкаталог сайта осуществляется путем добавления в файл .htaccess следующих строк:
где img\.example\.com нужно заменить на имя поддомена, с которого должна осуществляться переадресация, а
img на имя подкаталога, в котором находятся файлы поддомена. При этом экранирование символа точки обратной косой чертой \ в третьей строке не обязательно.Переадресация с протокола HTTP на протокол HTTPS
Переадресация с протокола HTTP на протокол HTTPS осуществляется добавлением кода в .htaccess файл:
и наоборот, с HTTPS на HTTP:
Ограничение/разрешение доступа к сайту с определённых IP-адресов
Для ограничения доступа к сайту с определённых IP-адресов в файл . htaccess требуется добавить:
где вместо подстроки IP требуется добавить IP-адрес, для которого нужно будет ограничить доступ, или список таких IP-адресов перечисленных через символ пробела.
Если требуется разрешить доступ к сайту только с определённых IP-адресов, то для этого можно добавить следующие строки:
где IP
Ограничение доступа к определённым файлам
Настройка ограничения доступа к определённым файлам производится путем добавления в .htaccess файл:
где ПУТЬ_К_ФАЙЛУ — необходимо заменить на целевой файл, а IP — на IP-адрес, для которого будет разрешён доступ.
Назначение кодировки для заголовков отдаваемых сервером по умолчанию
Для назначения кодировки для заголовков отдаваемых сервером по умолчанию достаточно добавить:
Затруднения с отображением кодировок, как правило, связаны с тем, что устаревшее ПО (сайт, CMS) использует кодировку отличную от той, на работу с которой сконфигурирован сервер. Данная директива может помочь в устранении данной ошибки.
Корректная установка CMS Bitrix
Для корректной установки CMS Bitrix в файле .htaccess необходимо указать следующее :
Изменение значений директив register_globals или magic_quotes_gpc
Если используетcя PHP, установленный как модуль веб-сервера Apache, и не используются глобальные переменные, рекомендуется отключать опцию register_globals в целях безопасности. Отключение register_globals производится внесением в файл .htaccess строки:
В том случае, если «волшебные кавычки» включены, то спецсимволы, такие как одиночные и двойные кавычки будут экранироваться обратными слэшами «\», что не всегда удобно. В версиях PHP 5.4.0. и выше данная директива не поддерживается. Для отключения «волшебных кавычек» в .htaccess следует добавить строку:
Отображение возникающих ошибок PHP на странице
Иногда для произведения анализа работы сайта может потребоваться отображение возникающих ошибок PHP в браузере. Эту задачу можно решить добавлением двух строк в файл .htaccess:
Указание собственной страницы ошибок
Установка собственных страниц ошибок возможна с помощью директивы ErrorDocument. После ErrorDocument указывается номер ошибки и путь к странице с ошибкой, либо текстовое сообщение. Примеры использования:
Временное отключение кеширования OPCache
Полный список и подробности того, какие директивы доступны для редактирования через файл .htaccess, предоставлены в официальной документации PHP и веб-сервера Apache2 по следующим ссылкам:
Как убрать редирект 301 — База знаний Timeweb Community
Редирект — это перенаправление посетителя страницы на другую, на тот случай, если посещаемая страница не работает или в ней находится неподходящая информация. Но иногда от редиректа приходится избавляться. Сейчас расскажу о трех способах сделать это.
Как убрать редирект через панель управления сервера
Описанный ниже метод подойдет тем, кто настроил панель управления ISPmanager и меняет параметры сервера через нее.
Если вы используете новую версию интерфейса ISPmanager, это инструкция для вас немного изменится. На шаге, где надо зайти в меню «Редиректы», надо сначала нажать на кнопку «Скрипты». Это новое меню, в которое спрятали нужный нам пункт настроек. В остальном процесс ничем не отличается.
Пользователям Plesk придется полностью удалить домен, на котором уже настроено перенаправление, и создать новый. К сожалению, эта система иначе делит домены на категории, задавая им тип еще одного этапа создания, и не оставляет другого метода убрать переадресацию.
Переадресация в ней задается еще в момент создания нового домена. В меню «Создать», когда выбирается тип хостинга, надо указать «Хостинг веб-сайтов», а не «Перенаправление». Тогда сайт будет функционировать должным образом. Больше ничего делать не нужно.
Но важно учесть, что при удалении домена вместе с ним будут удалены все связанные папки, веб-приложения и файлы.
Как отключить переадресацию в плагине Перенаправление для WordPress
Это инструкция для тех, кто делал редирект, как я писал тут. Через плагин Перенаправление для WordPress.
Чтобы такой удалить:
- Открываем настройку плагина.
- Кликаем по прямоугольнику напротив или нескольких редиректов (можно вообще всех, кликнув по пустому прямоугольнику рядом со словом Тип).
- Затем ищем кнопку Delete и нажимаем на нее. Возможно, свое намерение предпринять, разрушить ОК или Accept.
После этого настроенная ранее переадресация перестанет работать.Но опять же, та, что было создано с помощью плагина.
Как убрать редирект через .htaccess на хостинге TimeWeb
Если вы изначально настроили перенаправления, отредактируйте файл .htaccess, без труда их там же убрать.
- Для начала открываем панель управления Timeweb.
- Кликаем по меню «Файловый менеджер».
- Находим там конфигурационный файл .htaccess и открываем его.
Затем переходим непосредственно к редактированию кода внутри. (. *) $ http: //% {HTTP_HOST} / $ 1 [R = 301, L]
Встречают укороченные варианты записи вроде такой:
Перенаправить 301 / http://example.com/index.html
Независимо от типа, редирект выключить можно двумя способами.
- Полностью стереть соответствующий код из .htaccess.
- Или поставить перед ним значок #. Так мы его закомментируем, и он перестанет работать. Можно будет проверить, как поведет себя сайт, не удаляя переадресацию полностью.Потом можно легко все вернуть как было, удалив комментарии.
На этом все. Теперь вы знаете, как удалить и временно отключать редиректы в .htaccess и в панели управления. Этих трех способов должно хватить.
Как убрать php из url в конце адреса? — Блог разработчикам
Допустим, у вас есть статический веб-сайт с различными PHP файлов. При запросе они формируют URL, например, например — domain.com/index.php или domain.com/serviers.php и т.п, и вы хотите убрать index. php из URL , сделав ЧПУ . После этого вы задаете себе вопрос — Как убрать php из URL ? Все это можно легко исправить с помощью mod rewrite …
Как убрать php из url адреса правильно
Конечно, вы можете создать отдельную папку для каждой страницы, а затем изменить имена файлов на index.php внутри каждой из этих папок. Это будет работать, но это не очень хорошее решение, но оно имеет право на существование, если сайт создается «на коленке».
Однако мод переписать — это отличное решение для этого рода задач. Mod Rewrite позволяет переписать URL-адреса для веб-сайтов на основе Apache .
Весь необходимый код размещается внутри файла с именем .htaccess , который помещается в основной каталог вашего проекта. Давайте, теперь создадим такой файл.
Mod rewrite как включить?
Сначала нужно проверить , включить ли перезапись на сервере с помощью ifmodule mod rewrite c :
|
Дальнейшее размещение вашего кода внутри проверки означает, что он будет работать только при включенной перезаписи.
Включаем работу механизма преобразований RewriteEngine :
При необходимости, принудительно указываем использовать HTTPS :
Скидка RewriteCond% {HTTPS} RewriteRule (.*) https: //% {HTTP_HOST}% {REQUEST_URI}
RewriteCond% {HTTPS} выкл. RewriteRule (. *) Https: //% {HTTP_HOST}% {REQUEST_URI} |
Кстати, если вы работаете локально и используете openserver , то настройку https ssl сертификата , вы можете использовать мой мануал по ссылке из прошлых публикаций.
Устанавливаем основной RewriteBase — базовый URL для преобразований в контексте:
Теперь мы готовы определить URL-адреса, которые мы будем использовать. about $ about.services $ services.php
Скопируйте код выше в свой .htaccess файл на сервере и сохраните. Теперь при обращении к страницам файла htaccess сможет убрать расширение php в конце и сделает вывод приятным и простым.
Полезности htaccess | Битрикс-веб-мастер | pai-bx.com
В данном посте буду собирать все полезности для htaccess. Все в одном месте решил собрать для себя, чтобы не рыться каждый раз в поисках нужного решения.Буду накидывать информацию по мере необходимости
Интересный образец файла htaccess с задающими задачами
############################################## ########################### #### Cтандартный .htaccess для проектов #### ############################################### ########################## RewriteEngine On # Директива включает редиректы. RewriteBase / # Без директивы (. *) = / $ 1 будет / var / wwww / site / web / $ 1 с директивой = / $ 1 Параметры + FollowSymLinks # Разрешает переход по символическим ссылкам.(. *) / {2,} (. *) $ # Проверяем, повторяется ли слеш (//) более двух раз. RewriteRule. % 1 /% 2 [R = 301, L] # Исключаем все лишние слеши. ############################################### ########################## #### Убираем слеши в конце URL для статических файлов (содержит точку) #### ############################################### ########################## RewriteCond% {REQUEST_URI} \ .. + $ # Если файл содержит точку. RewriteCond% {REQUEST_FILENAME}! -D # И это не директория.(. +) / $ / $ 1 [R = 301, L] # Исключить слеш. ############################################### ########################## #### Добавить слеш (/), если его нет, и это не файл. #### ############################################### ########################## RewriteCond% {REQUEST_URI}! (. *) / $ # Если слеша в конце нет. RewriteCond% {REQUEST_FILENAME}! -F # Не является файлом. RewriteCond% {REQUEST_URI}! \ .. + $ # В URL нет точки (файл).(. *) / {2,} (. *) $ RewriteRule (.
*)% 1 /% 2 [R = 301, L]
Первая часть решает задачу множественных редиректов сразу после указания домена, а вторая часть — внутри url /
Замена в адресной строке верхнего регистра на нижний регистр:
RewriteEngine On RewriteBase / # Если есть прописные буквы, установить HASCAPS в true и пропустить следующее правило RewriteRule [A – Z] - [E = HASCAPS: TRUE, S = 1] # Пропустить этот раздел в случае, если в URL нет букв в верхнем регистре RewriteRule! [A – Z] - [S = 28] # Заменить одно вхождение слова "CAP" на "cap" и перейти к следующему правиламу.https: //% 1% {REQUEST_URI} [L, R = 301]
Инструкция для веб-мастеров: секреты настройки .htaccess файла
Для перенаправления всех страниц сайта с http на https достаточно добавить правило в начало файла .htaccess, который расположен в каталоге сайта.
Данными правилами мы запретим доступ сайту или директории сайта, где .htaccess установлен с подобными запретами для всех, кроме IP-адреса 123. 123.123.123. По аналогии можно указать несколько строк с IP-адресами, доступными разрешить.
Требовать все отклонено Требуется IP 123.123.123.123
Данными правилами мы наоборот закрываем доступ для конкретного IP-адреса 123.123.123.123:
Требовать все предоставлено Требовать не ip 123.123.123.123
Ограничение доступа к конкретному файлу, в примере файла cron.php:
<Файлы "cron.php"> Требовать все отклонено Требуется IP 123.123.123.123
Если вышеуказанных директив нет, то посредством файла.htaccess доступ к сайту не ограничивается.
Редирект 301
Редирект 301 с главной страницы сайта на URL http://your_site.ua можно сделать таким образом. В данном случае нужно указать имя вашего сайта или нужный URL .
Редирект 301 / http://your_site.ua
Можно также использовать данное правило для любой директории сайта: для этого вместо / указываем нужную директорию, к примеру, / my_dir. /]) $ 1 / [L, R = 301]
Кодировка сайта
В .htaccess также можно принудительно установить кодировку для сайта с помощью директиву AddDefaultCharset и передавая ей один параметр — желаемую кодировку, к примеру:
AddDefaultCharset UTF-8
или
AddDefaultCharset WINDOWS-1251
Или можно отключить установку кодировки веб-сервером использую директиву:
КодировкаОтключена на
Переопределение ошибок страниц
Эти правила заменят стандартные страницы ошибок на пользовательские страницы.Ссылка http://your_site.ua/error_page_404.html — и другие нужно заменить на ваши ссылки страниц:
ErrorDocument 404 http://your_site.ua/error_page_404.html ErrorDocument 403 http://your_site.ua/error_page_403.html ErrorDocument 500 http://your_site.ua/error_page_500.html
Указание нестандартного индексного файла
При открытии любого веб-сайта сервер ищет в исходном индексный файл, который по умолчанию задан как index. php или index.html.В случае, если наш индексный файл отличается от заданных по умолчанию, и называется, например, main.php, мы можем указать в .htaccess директивой:
DirectoryIndex main.php
Вывод
В данной статье рассмотрены наиболее часто используемые правила .htaccess, которые будут полезны как и опытному разработчику, так и новичку в этой сфере. Но это далеко не все возможности конфигурации в .htaccess. В настоящее время использование файла .htaccess не является большой проблемой, поскольку практически все хостинги в своём программном использовании используют Apache и настройки при помощи.htaccess. Таким образом тема уже много лет остается актуальной и информацию об этом легко можно найти на многих интернет ресурсах. Если возникает задача что-либо настроить при помощи .htaccess — скорее всего это уже кто-то делал, и можно просто найти готовое решение. Если же реализовать нужную настройку .htaccess вам не удалось, обращайтесь в нашу поддержку и мы найдём решение вместе.
Удалить / Перенаправить Index.Php From Url Для Предотвращения Дублирования Url-Адресов
Пожалуйста, внимательно прочитайте вопрос, прежде чем маркировать его как дубликат.index.php [L]
мы можем перенаправить весь трафик на index.php
, чтобы мы могли создать дружественные URL-адреса и иметь один фронт-контроллер.
Хотя вопрос связан с mod_rewrite
проблема описана для Laravel.
Следующий .htaccess
по умолчанию работает с Laravel 4, и он отлично работает:
Options -MultiViews
RewriteEngine на
# Перенаправить завершающие слэши.index.php [L]
Если мы запустим url mydomain.com/something
и установили этот маршрут для кое-что
должным образом, будет запущен какой-то контроллер. Пока это работает.
Однако в Laravel 4
мы сможем достичь того же маршрута, используя mydomain.com/index.php/something
. Вероятно, используя создание url Laravel, у нас не будет URL-адресов с index.php
в url, но есть и другие проблемы.
Например, если наша конкуренция могла бы вызвать нам какие-то вредные, они могут просто поставить в Интернете ссылки для URL-адресов mydomain.com/index.php/something
, mydomain.com/index.php/something2
и т.д., И поисковые системы см. повторяющиеся URL-адреса.
Конечно, если у нас есть собственное пользовательское приложение PHP, мы можем сделать это на PHP без проблем, просто проверяя $ _SERVER ['REQUEST_URI']
и переписывая 301.Некоторые разработчики могут сказать, что это плохая практика для этого в PHP.
Вопрос прост: как я могу перенаправить в.htaccess все URL-адреса, содержащие index.php, на тот же URL-адрес без index.php?
Примеры URL-адресов, которые необходимо перенаправить:
mydomain.
com/index.php/something
должен быть перенаправлен на mydomain.com/something
(что-то может быть что угодно — может содержать любые символы) mydomain .com / index.php
следует перенаправить на mydomain.com
mydomain.com/index.php?anything
должен быть перенаправлен на mydomain.com
(все может содержать любые символы) mydomain.com/index.phpanything
нужно перенаправить на mydomain.com
что-нибудь может содержать любые символы)Лечим аллергию пользователей или как убрать PHP в ссылках
От автора: апчхи! Извините, это у меня аллергия на тещу, которая в гости приехала.Точнее, на ее духи. Так как чихание вызывается разными факторами. А вдруг у некоторых ваших пользователей расширение .php, отображаемое в ссылках? Поэтому лучше не рисковать, и убрать PHP ссылках.
Причины аллергии
На самом деле проявление аллергической реакции у пользователей на самом деле проявление в себе такое расширение, встречается очень редко. Тут кроется опасность серьезнее!
Мы уже знаем, что PHP является главной технологией, позволяющей создавать динамические ресурсы.Сейчас на его базе разработано множество различных движков, автоматизирующих все операции по администрированию ресурса. Начните с установки стилей и страниц заканчивая его пагинацией, SEO-настройками и другими тяжелыми для ручного метода процессами «доведения» сайта.
Каждая из CMS по своему задает URL для каждой страницы, созданной через ее админку. И в результате, если не эти особенности, у вас может оказаться две главные страницы. А все URL «озадачить» любую поисковую систему.Поэтому иногда убрать из ссылок index .php не только можно, но и полезно.
Предисловие
Сначала придется сделать небольшой экскурс. Самым популярным веб-сервером с поддержкой PHP уже долгое время остается Apache. Большая часть хостингом работает на нем.
Бесплатный курс по программированию PHP
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас! Для глобальной настройки сервера настроенного httpd. конф. Но ведь на одном экземпляре Apache может быть создано множество ресурсов. Понятно, что предоставить каждому сайту доступ к глобальной конфигурации никто не решится.
При этом вы, как владелец ресурса, арендующего виртуальное пространство на хостинге, можете сконфигурировать параметры сервера применимо к своим папкам. Для этого и предназначенного .htaccess.
Через настройку данного файла можно максимально точно подстроить параметры сервера «под себя»:
Запретить пользователям доступ к определенным папкам.
Запретить переход из конкретного ресурса.
Установить поддерживаемые для загрузки графические форматы изображений.
Настроить редиректы.
Но как убрать php в конце ссылки? Это тоже можно сделать с помощью директив, заданных в .htaccess.
Решаем проблему!
Чаще всего современные CMS автоматически генерируют .htaccess при первом запуске сайта. Если у вас движок «самопальный», тогда самостоятельно создайте этот файл. Для этого откройте Блокнот и сохраните созданный файл с именем.htaccess в папке своего сайта.
Бесплатный курс по программированию PHP
Освойте курс и узнайте, как создать динамический сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Теперь нам нужно настроить параметры под свои нужды. Сначала разрешим внесения изменений в настройки сервера.
И добавляем всю остальную код:
RewriteEngine On RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteCond% {REQUEST_FILENAME}.\ s] *)?
RewriteRule (. *)% 1 [R = 301, L]
Что означает каждую из строк, лучше не спрашивайте. Здесь все завязано на регулярных выражениях, а это уже совсем другой уровень познания. Краткие пояснения:
RewriteCond — данное условие устанавливает условие, при котором должно сработать правило RewriteRule.
RewriteRule — о том, что должно произойти, если сработает RewriteCond. В нашем случае это как должно поменяться URL.index.php $ / [QSA, R]
Надеюсь, сегодня вы смогли избавиться от одного из видов аллергии. А моя теща наконец-то уехала. Но странно, что чихать я так и не перестал.
Бесплатный курс по программированию PHP
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Разработка веб-приложения на PHP
Создайте веб-приложение на PHP для примеров приема платежей на сайте
СмотретьНастройка правильного файла htaccess в Opencart, https ssl и http редирект
Файл.htaccess имеет важное значение в работе всего интернет-магазина, рассмотрим его подробно, что же он в себя включает по-умолчанию. Тем более, что «с коробки» он содержит в себе много лишнего. Заодно пройдемся по основным директивам данного файла. Файл имеет много комментариев, я буду расписывать только работающие строки.
Из коробки .htaccess в Opencart имеет в себя большое количество бесполезного кода. В первую очередь пройдемся по основным директивам и настройкам файла. Стандартный .htaccess для opencart содержит большое количество замечаний, я буду расписывать лишь только работающие строчки.
Options + FollowSymlinks
Позволяет давать файлы, которые физически находятся за пределами корневой директории, но на которые есть ярлыки (символическая ссылка). Нужно для работы mod_rewrite
Параметры –индексы
Запретчи выдачи листинга пустого каталога. В каталоге, в котором отсутствует файл показываемый по-умолчанию (например, index.html) не будет содержимое файлов со списком. Посетитель получит HTTP ошибку 403 — доступ запрещен.
<совпадение файлов "(? I) ((\.tpl | .twig | \ .ini | \ .log | (?
Требовать все отклонено
Запрет прямого доступа к файлам с указанными расширениями, кроме robots. sitemap.system / storage /(.*) index.php? route = error / not_found [L]
При попытке получить содержимое папок system / download по ссылке site.com/system/download/… или site.com/system/download/ … Переадресовывать на site.com/index.php?route=error/not_found где вызывается метод index контроллера catalog \ controller \ error \ not_found.php выводящий сообщение «страница не найдена».
В Opencart 2.3 папки загрузить в системе нет, поэтому данное правило можно удалить из .htaccess.Кроме того, в системе есть свой файл .htaccess ограничивающий доступ к ее содержимому.
Если предыдущие регулярные выражения из директив RewriteRule не подошли, выполнение идет дальше.
RewriteCond% {REQUEST_FILENAME}! -F
Если файл, запрос не существует, тогда проверка продолжается и может выполнить строку с директивой RewriteRule.
Если index.php присутствует, проверка не прошла, директива RewriteRule не выполнится, файл index.php в итоге и загрузится со всеми задачами (если есть). ?] *) index.php? _route _ = $ 1 [L, QSA]
Тогда любой запрос переадресовывается на site.com/index.php?_route_[после задания _route_ подставляется то, что запрашивалось — любая строка указанная в URL после домена]
GET-параметры, с помощью регулярного выражения, подставляются в строку вместо «$ 1»
Данная директиваится, если в URL не указан файл index.php, что происходит в т. ч. при включении ЧПУ URL. В процессе загрузки приложений, проверяется, включено ЧПУ в настройках.Если нет, то при получении _route_ осуществится вызов контроллера ‘common / home’, который выведет домашнюю (главную) страницу. Если же ЧПУ было включено, выполняется контроллер ControllerStartupSeoPro из каталога файла \ controller \ startup \ seo_pro.php или другой выбранный, где параметр _route_ будет разобран на части и из таблицы базы данных url_alias по переданным в GET-запросе элементы найдены алиасы, которые укажут скрипту путь к контроллеру / методу, который необходимо вызвать для вывода страницы.
Далее идут дополнительные настройки, которые могут потребоваться в особых ситуациях.
Итого настройки файла .htaccess для Opencart 2+ с комментариями:
# 1. Чтобы использовать URL Alias, вам нужно запустить apache с включенным mod_rewrite. # 2. В вашем каталоге opencart переименуйте htaccess.txt в .htaccess. # По любым вопросам поддержки, пожалуйста, обращайтесь: https://www.opencart.com/ Параметры + FollowSymlinks # Запрет выдачи листинга пустого каталога Параметры -Индексы # Запретить прямой доступ к файламТребовать все отклонено ## Для apache 2.2 и старше замените «Требовать все отклонено» этими двумя строками: # Order deny, allow # Запретить всем # Настройки SEO URL RewriteEngine On RewriteBase / # Если ваша установка opencart инсталлируется не в главной директории, убедитесь, что в вашей папке она работает, т.е. / становится / магазин / # Редирект с www на ssl без www RewriteCond% {HTTP_HOST} ^ www \.?] *) index.php? _route _ = $ 1 [L, QSA] ### Дополнительные настройки, которые могут потребоваться для некоторых серверов ### Раскомментируйте команды, удалив знак # перед ним. ### Если вы получили «Внутреннюю ошибку сервера 500» после включения любого из следующих настроек, восстановите #, так как это означает, что ваш хост не поддерживает директиву. # 1. Если ваша корзина позволяет вам добавлять только один элемент, возможно, что register_globals включен. Эта директива поможет его: # php_flag register_globals выключен №2.Если в вашей корзине включены магические кавычки, это может помочь отключить их: # php_flag magic_quotes_gpc Выкл. # 3. Установите максимальный размер загружаемого файла. Большинство хостов ограничивают это и не позволяют переопределить его, но вы можете попробовать # php_value upload_max_filesize 999M # 4. Установите максимальный размер отправляемых данных. Раскомментируйте эту строку, если вы получаете ошибки, когда формы не сохраняют все поля # php_value post_max_size 999M №5.