Как убрать index.php внутри url?
Нужно избавиться от index.php внутри url.
Структура следующая:
domain.com/index.php/catalog/
раздел catalog существует и открывается, но у меня никак не получается избавиться от index.php, так как вся информация которую я нашел сводится к редиректу с index.php на конце. Можете что-то порекомендовать?
- Вопрос задан более двух лет назад
- 355 просмотров
Комментировать
Решения вопроса 1
Виктор Таран @shambler81 Куратор тега htaccess
RewriteCond % ^(.*)/index\.php$ # URL cодержит index.php в конце. RewriteCond % =GET # Выявляем GET запрос в URL (не POST). RewriteRule ^(.*)$ %1/ [R=301,L] # Удалить index.php из URL.
возможно в вашем случае нужно будете убрать RewriteCond % =GET но эо уже зависит от вашего движка
Ответ написан более двух лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 1
Stalker_RED @Stalker_RED
Если у вас apache, то можно применить mod_rewrite.
Вот первая попавшаяся статья с описанием: https://habr.com/ru/post/83597/
Ответ написан более двух лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Apache HTTP Server
- +1 ещё
Как исправить вечный редирект с https на http и обратно?
- 1 подписчик
- вчера
- 48 просмотров
Как убрать index.php из URL

Для продвижения сайта в интернет, через поисковые системы, необходимы производить оптимизации. При создании сайта, может произойти ситуация, когда страница открывается по адресу /blog/index.php и /blog/. Такая ситуация негативно отразится на позициях вашего сайта в поисковых системах. В этой статье мы рассмотрим, как с помощью файла .htaccess (если у вас веб-сервер apache), избавиться от дублирования контента.
Оставлять index.php в адресной строке сайта или лучше убрать?
Для ответа на этот вопрос, сравните два варианта URL-сайта в адресной строке браузера.
Пример 1:
https://ВАШ_САЙТ.COM/blog/index.php?p=13s332kkxs
Если посмотреть на URL в целом и GET-параметр после index.php, сложно представить какая статья может находиться по данной ссылке и при индексации сайта, поисковые роботы учитывают в том числе ключевые слова в URL-сайта.
Пример 2:
https://ВАШ_САЙТ.COM/blog/how-to-use-index-php/
В этом варианте, URL-сайта выглядит человеко-понятным и если посмотреть на данный URL, можно понять, что по этому адресу находится статья о использовании файла index.php.
Данный вид ссылок называется ЧПУ и расшифровывается как человеко-понятный урл, или на английском языке User Friendly URL. Для того, чтобы все ссылки на вашем сайте были ЧПУ, имеет смысл убрать index.php из GET-запроса страниц вашего сайта.
Вы можете бесплатно посмотреть видеоурок о том как настроить ЧПУ-ссылки, если ваш веб-сайт вы создаете на фреймворке Codeigniter.
Как скрыть index.php с помощью .htaccess
Убрать index.php из GET-запроса вашего сайта очень легко. Для этого, если вы используйте веб-сервер apache, создайте или отредактируйте в корневом каталоге вашего сайта файл .htaccess, вписав в него следующий код:
RewriteEngine On RewriteCond % !-f RewriteCond % !-d RewriteRule ^(.*)$ /index.php?/$1 [L]
Обратите внимание, что модуль mod_rewrite должен быть включен в настройках сервера Apache.
Базовые настройки Apache для локальной разработки создания сайтов вы можете посмотреть онлайн в первом видеоуроке курса PHP/MySQL.

Выводы
Создать рабочий функционал вашего веб-сайта — это только 50% выполненной задачи и убрать index.php из строки браузера — это только маленькая часть.
Для того, чтобы ваш сайт полюбили поисковые системы и ваш сайт был в первых позициях в поисковой выдачи, необходимо провести SEO-оптимизации всей структуры вашего сайта и лучше, чтобы часть SEO-оптимизаций проводилась на этапе разработки.
В нашем курсе Профессия веб-программист, мы рассматриваем вопросы SEO-оптимизации сайта и вы узнаете как поднять ваш веб-сайт на высокие позиции в Google, Yandex.
How to remove index.php from URLs?
Which look prettier anyway. I assume this is a rewrite issue in .htaccess, but as tinkering with that in the past has given me 500s, I’d like to ask you guys first. Changing the SEO settings, flushing the configuration cache, and reindexing URLs did not work as suggested here.
1 1 1 silver badge
asked May 6, 2012 at 22:14
830 2 2 gold badges 10 10 silver badges 15 15 bronze badges
8 Answers 8
Before you start, make sure the Apache rewrites module is enabled and then follow the steps below.
- Log-in to your Magento administration area then go to System > Configuration > Web.
- Navigate to the Unsecure and Secure tabs. Make sure the Unsecured and Secure — Base Url options have your domain name within it, and do not leave the forward slash off at the end of the URL. Example: http://www.yourdomain.co.uk/
- While still on the Web page, navigate to Search Engine Optimisation tab and select YES underneath the Use Web Server Rewrites option.
- Navigate to the Secure tab again (if not already on it) and select Yes on the Use Secure URLs in Front-End option.
- Now go to the root of your Magento website folder and use this code for your .htaccess: RewriteEngine On RewriteBase / RewriteRule ^index\.php$ — [L] RewriteCond % !-f RewriteCond % !-d RewriteRule . /index.php [L]
Save the .htaccess and replace the original file. (PLEASE MAKE SURE TO BACKUP YOUR ORIGINAL .htaccess FILE BEFORE MESSING WITH IT. )
- Now go to System > Cache Management and select all fields and make sure the Actions dropdown is set on Refresh, then submit. (This will of-course refresh the Cache.)
If this did not work please follow these extra steps.
- Go to System > Configuration > web again. This time look for the Current Configuration Scope and select your website from the dropdown menu. (This is of course, it is set to Default Config)
- Make sure the Unsecure and Secure fields contain the same domain as the previous Default Config file.
- Navigate to the Search Engines Optimisation tab and select Yes underneath the Use Web Server Rewrites section.
- Once the URLs are the same, and the rewrite is enabled save that page, then go back and make sure they are all checked as default, then save again if needed.
- Repeat step 6.
Now your index.php problem should be fixed and all should be well.
Как убрать index.html из URL
Файл index.html – это стандартный файл, который используется веб-серверами для отображения содержимого корневой директории сайта. Если вы открываете сайт без указания конкретного файла в URL, то веб-сервер автоматически открывает файл index.html, если он есть в корневой директории сайта.
Например, если у вас есть сайт с доменным именем example.com и файл index.html находится в корневой директории сайта, то вы можете открыть его, введя в адресной строке браузера следующий URL: http://example.com/index.html. Однако, если вы просто введете http://example.com, то веб-сервер автоматически откроет файл index.html.
Файл index.html может содержать HTML-код, который определяет структуру и содержимое веб-страницы. Он может также содержать ссылки на другие файлы, такие как CSS-стили, JavaScript-скрипты и изображения, которые используются на веб-странице.
В целом, использование файла index.html в URL позволяет упростить адрес сайта и обеспечить быстрый доступ к содержимому корневой директории сайта, однако это негативно сказывается на поисковой позиции сайта. Чтобы успешно продвигать его поисковых системах нужно настроить переадресацию с удалением «index.html» в конце адреса сайта. Например, перенаправление с сайта «example.com/index.html» на «example.com».
Как убрать index.html через htaccess
Чтобы убрать index.html из URL сайта, можно использовать файл .htaccess. Для этого нужно выполнить следующие шаги:
- Создайте файл .htaccess в корневой директории сайта, если его еще нет.
- Добавьте в файл правило – в зависимости от того, что вам нужно:
Убрать index.html из URL для главной страницы:
RewriteRule ^index\.html$ / [R=301,L]
Убрать index.html из URL для всех страниц:
RewriteRule ^index\.html$ / [R=301,L]
RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]
- Сохраните изменения.
Как убрать index.php через web.config
Если говорить в общем, web.config позволяет веб-разработчикам изменять настройки приложений без необходимости изменения кода приложений. Каждое веб-приложение имеет свой web.config, который хранится в корневой папке приложения на сервере.
Чтобы убрать index.html из URL сайта через web.config нужно выполнить следующие шаги:
- Войдите в панель управления хостингом и перейдите в корневую директорию сайта.
- Выберите файл web.config.
- Добавьте в файл следующие правила:
Чтобы подготовить страницу к редиректу:
