Убрать index php htaccess
htaccess файл удалить индекс.php из url
у меня проблема, когда google проиндексировал некоторые страницы с неправильным url-адресом.
url, который они индексируют:
мне нужно перенаправить его на:
.htaccess не моя сильная сторона, поэтому любая помощь будет очень признательна.
7 ответов
mod_rewrite должен быть включен с PHP, и это будет работать для версии PHP выше 5.2.6.
удалить index.php из URL и перенаправить посетителя на неиндекс.php версия страницы:
использование перенаправления 301 сохранит рейтинг поисковой системы Google.
предполагая, что существующий url-адрес
и мы хотим преобразовать его в
вы можете использовать следующее правило :
в spep #1 мы сначала сопоставляем строку запроса и фиксируем все после / index.на PHP/ и полученное значение сохраняется в %1 var. Затем мы отправляем браузер на новый URL-адрес. #2 обрабатывает запрос внутренне. Когда браузер прибывает в / foo / bar, #2rule переписывает новый url в исходное местоположение.
выполните следующие действия
1. убедитесь, что модуль hosting / your pc mod_rewrite активен. если не активен, попробуйте активировать способом, откройте httpd.файл conf. Вы можете проверить это в phpinfo.php, чтобы узнать.
изменить этот параметр :
быть и перезапустить wamp
если выше не работает, попробуйте это:
шаги для удаления индекса.php из url для вашего сайта wordpress.
если все еще не удалось, то проверьте свой хостинг, мой был digitalocean server, поэтому я очистил его сам
отредактировал файл / etc/apache2/sites-enabled / 000-по умолчанию.conf
добавлена эта строка после DocumentRoot/var/www / html
перезапустите apache сервер
Примечание:/var/www / html будет вашим корневым документом
некоторые могут получить 403 с помощью метода, указанного выше, используя mod_rewrite. Другое решение rewite индекса.php out выглядит следующим образом:
Как убрать index.php из URL
Для устранения дублирования с index.php (когда http://ваш_сайт и http://ваш_сайт/index.php ведут на одну страницу) надо удалить один из вариантов. Как правило, надо удалить index.php из URL, то есть чтобы при обращении к http://ваш_сайт/index.php шёл автоматический редирект на http://ваш_сайт. Давайте с Вами это сделаем.
Для удаления index.php из URL надо в htaccess написать следующий код:
RewriteEngine On
RewriteRule ^index.php$ / [QSA,R]
После этого, например, такая ссылка http://ваш_сайт/index.php превратится в http://ваш_сайт/, а http://ваш_сайт/index.php?id=5 превратится в http://ваш_сайт/?id=5.
Что касается создания htaccess, то об этом писалось в этой статье: создание htaccess.
Вот так легко можно убрать index.php из URL с помощью htaccess, тем самым, уничтожив дублирование страниц, которое так не любят поисковые системы.
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии ( 38 ):
зачем удалять комментарии?
Никто не пытался наказать, был сильный интерес. Прошу прощения. Так вы ответите?
Я хочу чтобы было так: /id3242
Вот и делайте такие ссылки, а затем по той статье обрабатывайте их и выводите соответствующие страницы.
Спасибо за понятную и доступную статью! Все прекрасно заработало! Дополнительный вопрос. Для удаления www прописаны строки RewriteEngine On RewriteCond %
Михаил, а если уже есть такой код: RewriteEngine On RewriteCond %
Просто в конец добавить: RewriteRule ^index.php$ / [QSA,R]
Есть ещё один метод: RewriteEngine On RewriteCond %
Михаил, а как сделать противоположную задачу, чтобы подставлялось index.php
Добавил данный код. В денвере со всех страниц где есть index.php теперь перекидыват на http://localhost/denwer/ Вопрос а данный способ потходит для такой ситуации http://site/forum/index.php должно остаться http://site/forum/ я правильно понял? а остаеться http://localhost/denwer/ Ура, заработало! ))
Все работает, спасибо Михаилу
RewriteRule ^index.php$ / [QSA,R] У меня почему-то этот код редиректит абсолютно все страницы на главную. Может еще надо было что-то сделать?
Здравствуйте autoevo. Попробуйте так: RewriteCond %
Здравствуйте Александр. К сожалению в таком варианте выдает ошибку 500. У вас есть еще какие ни будь мысли по этому поводу? Был бы очень признателен.
Значит Вы что-то делаете не так. Утром прочту и посмотрю,что Вам ответить. Технология верна. используйте другие плагины.что мешает?например sh404sef
Уважаемый,данный вопрос уже не ко мне. Я лишь посоветовал один из плагинов,который использую,если уж у Вас не работают обычные способы. Стоило,видимо,изначально прочесть инструкцию по установке и работе с данным плагином,а не наобум его ставить. Вы ведь даже не удосужились посмотреть быстрые настройки,а также то,что у плагина есть свой ссылочный кеш и его надо очищать,после переходить на индексную страницу,а дальше плагин уж сам. Перед этим стоит сделать нормальные настройки htaccess а в плагине выбрать mod_rewrite Я не заставлял и не принуждал Вас ставить данный плагин
Здравствуйте. Я ни в коей мере не хотел вас упрекнуть. По всей видимости скачанный плагин оказался глючный. Но идея понравилась, будем искать.
Если не найдёте,то пишите. Будем решать как-то. Но тогда придётся показать сайт и рассказать,как конкретно ставили плагин
5 Answers 5
Symfony 2 has an excellent solution:
This accomplishes the following:
Note that the line:
is responsible for setting the %
I tried this and works fine:
If your site’s system directory (/system/) has been renamed and is still accessible by URL, modify the RewriteCond line above:
If you are running EE from a sub-directory rather from the root of your domain (e.g. http://example.com/myeesite/ instead of http://example.com/), just remove the slash preceding index.php in the RewriteRule line above, like so:
If you are running EE from a sub-directory and it still doesn’t work after removing the slash, you may need to specify the sub-directory in your rewrite rule. For example, if your sub-folder is named testing, change:
To remove index.php from urls on apache2.4 you can use the following rule :
This will change the uri
This rule will return an internal server error for lower versions of apache as they don’t support the END flag. Please see the anubhava’s answer above that works almost on all versions.
I’ve been compelled to join stack overflow.com today to comment here as the answer has solved a long term problem I’ve had with a Zend Framework website. I’ve worked on the website around 3 1/2 years and during that time I discovered that it didn’t handle index.php correctly and this causes webmaster tools to see duplicate titles etc.
I decided to search again today for a solution, one of many times attempted.
This is the one (the last answer shown above) that solves my problem.
As an example. this is what it achieves for me.
Thank you to everyone who contributed to the original question as it lead to the answer and solution above.
Extra Note: I have other rewrite commands that handles the other aspects but those on their own didn’t fix the index.php and the only time this has been fixed is by using.
I only hope it helps others whether its ExpressionEngine or Zend Framework, in the future.
.htaccess позволяет создать собственную конфигурацию управлением сервера Апач в директориях или настройках хостинга.
Глобальные настройки сервера Апач могут содержать запрет на исполнение некоторых команд, обычно это вызывает ошибку 500. Также подобную ошибку может вызывать неправильный синтаксис или ошибка, например пропуск пробела.
Запрет доступа для определенных IP-адресов или диапазонов IP-адресов
Запрет доступа с IP-адреса 123.123.123.123.
Разрешаем доступ только с определенных IP-адресов
Принудительное задание кодировки
Иногда требуется очистка кэша браузера.
Отмена перекодировки сервером
Создание собственных страниц с сообщениями об ошибках
При переходе, например, на несуществующий адрес, посетитель увидит сообщение сервера об ошибке, можно создать собственные страницы ошибок либо перенаправлять посетителя на другой адрес, как главная страница. Но для правильной индексации желательно не перенаправлять, а показывать страницу ошибки.
Строка ErrorDocument 404 http://site.ru/error/404.html указывает, что при ошибке 404 будет показан файл 404.html, который должен находиться в корне директории сайта. Если файл расположен в другой директории, измените путь к файлу или ссылке.
Редиректы
Редирект на .html
Пример, редирект с c site.ru/blog на site.ru/blog.html.
Редирект на страницу без слеша в конце адреса
Пример, редирект с c site.ru/blog/ на site.ru/blog.
Редирект на страницу со слешем в конце адреса
Редирект на страницу без index.php в адресе
Редирект на страницу без index.php в конце адреса
Редирект с www на без www
Редирект без www на www
Склейка доменов
Пример, у вас несколько доменов, но посетитель должен переправляться на один.
Редирект со старых статических url на новые
Пример редирект со страницы http://site.com.ru/id=21.
Защита от хотлинка
Если вы хотите запретить вставку изображений с сайта по прямой ссылке.
Защита от брутофорса
Разрешаем доступ к директории administrator только по протоколу HTTP, что отсеет некоторых ботов. Для каждой CMS нужно указать свой адрес, например wp-login, wp-admin и так далее.
Бытует легенда, что происхождения названия сервера Апач происходит не от названия индейского племени. Когда сервер был еще в самом начале пути, группа энтузиастов небольшие дополнения к коду, патчи (англ – patch), и «a patchy server» превратилось в Апач, а знаменитое перо на логотипе появилось позже.
В материале перечислены наиболее часто используемые примеры, а большинство возможностей даже не упомянуто, как модуль mod_rewrite, предоставляющий множество возможностей.
Статья писалась эпизодическими «набегами», так что если увидите ошибку, поправьте.
Как убрать index.php в Joomla 3
Дата публикации: 2016-01-28
От автора: приветствую Вас, дорогой друг. Как Вы знаете человеко-понятные ссылки, или ЧПУ, очень важны для любого сайта, как в плане SEO оптимизации, так и в плане удобства восприятия обычным пользователем. И, конечно же, сайт, созданный на CMS Joomla не исключение, поэтому разработчики, в стандартный функционал движка, ввели механизм формирования, выше указанных ссылок, который отлично работает, но есть один нюанс, который может поставить в тупик начинающего веб-мастера.
Дело в том что, по умолчанию ко всем ссылкам, добавляется строка index.php, которая заметно портит внешний вид ссылки. Поэтому в данном уроке мы с Вами поговорим о том, как убрать index.php в Joomla 3.
Человеко-понятная ссылка, или ЧПУ – это виртуальный адрес на некоторый элемент сайта, который предоставляет краткую информацию о странице, на которую ссылается. То есть по адресу ссылки, пользователи и поисковые системы смогут понять, о чем пойдет речь на той или иной странице. Соответственно ЧПУ, заменяет сложный адрес, в котором передается огромное количество все возможных параметров, необходимых для формирования страницы, на определенную строку, или набор строк, поясняющих назначение данной страницы.
А теперь сравните два адреса, которые ведут на один и тот же материал CMS Joomla, под названием “Welcome to your blog”.
Первый — обычный: index.php?option=com_content&view=article&id=3. Второй – ЧПУ: index.php/3-welcome-to-your-blog
Хотите узнать, что необходимо для создания сайта?
Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!
Согласитесь, что второй вариант, наиболее красив и понятен. Даже не просматривая страницу, Вы сразу же можете сказать, что на данной странице, речь пойдет о материале под названием “Welcome to your blog”, потому как, название используется для формирования пути ссылки. При этом, число 3, которое указывается в начале – это идентификатор материала. Помимо, того что ЧПУ, лучше воспринимаются пользователями, они так же благоприятны для поисковой оптимизации сайта. Так как поисковые системы, выполняя индексацию страниц, так или иначе, учитывают ссылки, и если в адресе присутствует ключевое слово из конкретной страницы – это значительный плюс к рейтингу страницы. При этом абсолютно не важно, что в адресе, ключевое слово будет написано латинскими буквами, а непосредственно в тексте материала кириллицей. Потому как поисковики, довольно хорошо понимают транслит. То есть другими словами, использование ЧПУ, значительно облегчит продвижение сайта.
Вы спросите, почему я вначале указал, что адрес, ЧПУ – это виртуальный адрес? Потому как, по сути, адрес ЧПУ, ни куда не ведет. Он содержит лишь, строку описание (обычно используются псевдонимы, материалов, категорий, пунктов меню и т.д), конкретного элемента (конкретной страницы), и данная строка, помимо пояснения назначения страницы, используется для формирования полноценного, стандартного URL, который необходим для перехода к конкретной страницы. То есть, выполняя переход по ссылке, в адресе которой содержится ЧПУ – перенаправления изначально не будет, так как CMS Joomla, первым делом, обработает путь ссылки и преобразует его в стандартный адрес (с набором параметров), по определенному алгоритму и только потом, выполнит перенаправление, на запрашиваемую страницу.
Но, механизм обработки ЧПУ – это не тема данного урока, поэтому сейчас давайте подробно остановимся на вопросе для CMS Joomla — как убрать index.php из адреса?
Во все, стандартные человеко-понятные ссылки Joomla, index.php – добавляется по умолчанию, и для того, что бы убрать данную строку, необходимо выполнить несколько действий. Первым делом, переходим в глобальные настройки CMS из панели администратора.
На вкладке “Сайт”, активируем параметр “Перенаправление URL”, благодаря которому строка index.php будет изъята из всех адресов ЧПУ.
Теперь обратите внимание, на ссылку из предыдущего примера: Домен.ru/index.php/4-about-your-home-page
Если, строка index.php, не используется, значит, ссылка приобретает следующий вид: Домен.ru/4-about-your-home-page
Вот собственно и все что нужно сделать, что бы убрать убрать index.php в Joomla. На этом урок завершен. Всего Вам доброго и удачного кодирования.
Хотите узнать, что необходимо для создания сайта?
Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!
Хотите узнать, что необходимо для создания сайта?
Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!









