7 World [2011-04-29 14:56:00]
Я использую php для создания веб-приложений, но мне нужны мои веб-страницы без расширения .php в адресной строке браузера. Для eample http://www.example.com/index.php отображается как http://www.example.com/index в адресной строке браузера.
Как я могу это сделать?
url php address-bar
12 ответов
Поместите это в файл с именем .htaccess в свой WWW-корень:
Это работает, если вы используете Apache и активируете mod_rewrite.
Просто создайте файл .htaccess в wamp/www/ и скопируйте этот код.
Надежда! это было бы полезно для кого-то!!
Вам нужно найти соответствующий метод url-rewriting для вашего веб-сервера. Он позволяет вам отображать
Просто отметим, что в старых версиях IIS, например IIS6, и предполагая, что вы находитесь в 32-битном процессе, IONICS ISAPI Rewrite — это фантастический бесплатный модуль перезаписи URL-адресов. Внутри 64-битного в IIS 6 я нашел коммерческий продукт Helicon ISAPI Rewrite 3 отличным инструментом. Но если вы в 32 бит, IONICS бесплатно и делает все, что вам потребуется.
1 Agrajag [2011-04-29 15:04:00]
Существует несколько способов сделать это.
Вы можете использовать mod-rewrite для перезаписи foo в foo.php, чтобы запросы на /bar обрабатывались/bar.php.
Вы можете использовать каталоги и файлы по умолчанию, чтобы вы ссылались на directcory/foo/, который обрабатывается /foo/index.php
Вы можете установить php- script в качестве обработчика для 404-ошибок, тогда вы просто связываетесь с неиспользуемыми файлами, и файл-обработчик имеет дело с ним, как бы ему ни нравилось. (обычно, используя некоторую карту из url в php файл)
Вы можете сообщить своему веб-серверу, что все запросы для определенного веб-сервера должны обрабатываться php.
Первое или второе решение является самым простым, но два последних дают лучшую гибкость, и их варианты — это то, что делают большинство более крупных фреймворков.
1 phaedra [2011-04-29 14:58:00]
В системах, использующих веб-сервер Apache, вы должны использовать mod_rewrite.
В новых версиях IIS вы можете использовать свою версию mod_rewrite. В более старых версиях вам нужно купить плагин.
Поиск, и вы должны найти ответы на уже заданные вопросы.
1 pavium [2011-04-29 15:03:00]
В apache2.conf у меня есть
Это означает, что data рассматривается как файл PHP без расширения
Часто слышу, что сеошники советуют убирать окончания .html, .php и .htm в адресах ваших сайтов – якобы, это негативно влияет на продвижение. Кто-то же говорит, что это просто визуально добавляет адресу лишний мусор.
В любом случае, убирать или оставлять эти окончания, решать вам, я же покажу, как это реализовать на статичном сайте (то есть сайте, находящемся не на CMS). Почему только на статичном? Потому что для различных CMS это реализовывается разными методами, о которых я также расскажу в последующих статьях.
Не утверждаю на 100%, что этот метод не будет работать на какой-то из CMS – пробуйте и о результатах отписывайтесь в комментариях.
Убираем .html, .php и .htm на Apache
Как вы знаете, в Apache существует файл .htaccess, который содержит в себе набор настроек и конфигураций сервера. С его помощью мы и будем убирать ненужные нам окончания.
1. Подключитесь к сайту по FTP и в корне сайта найдите файл .htaccess. Откройте его. Если такой файл отсутствует – создайте.
2. Найдите строчку, содержащую:
Сразу после нее вставьте следующие правила.
Если вам необходимо убрать .php:
Если вам необходимо убрать .html:
Если вам необходимо убрать .htm:
Если строчка «RewriteEngine On» отсутствует в файле – добавьте ее в самое начало.
После чего сохраните изменения и отправьте файл обратно на сайт. Если раньше адреса на вашем сайте были вида
то теперь вы можете открыть эту страницу по адресу:
Убираем .html, .php и .htm на Nginx
1. Для того чтобы подобную настройку произвести в Nginx, откройте файл конфигурации по адресу:
в FTP (если вам позволяют права) либо через панель управления сервером.
2. Далее, в секцию location / <…>, вставляем необходимые правила.
Если вам необходимо убрать .php:
Если вам необходимо убрать .html:
Если вам необходимо убрать .htm:
Если в процессе настройки у вас что-то не получается – пишите об этом в комментариях.
Разработчикам сайтов известно о полезности и много-функциональности файла .htaccess. С помощью этого файла можно осуществить различные полезные настройки. Достаточно задать определённую команду лишь в этом файле на сервере, и все функции и настройки сайта кардинальным образом изменятся. Если перефразировать известную народную мудрость так: “Один в поле воин”, то к файлу .htaccess это будет относиться в первую очередь.
О том, что такое файл .htaccess можно почитать здесь: Что такое файл .htaccess и как его создать.
В этой статье хотелось бы обратить внимание на одно полезное правило для Вашего сайта. Это правило убирает расширения файлов из URL (адресной строки браузера). Такое правило можно с лёгкостью организовать при помощи .htaccess, добавив в этот файл лишь несколько строк кода.
Это может пригодиться для того, чтобы сделать адреса Ваших страниц в интернет-браузерах пользователей более красивыми и привлекательными. Например, URL: http://vdblog.ru/about , смотрится более эстетично, чем URL: vdblog.ru/about.php .
Таким образом, из адресной строки браузера, которую видят Ваши посетители можно убрать любое расширения файлов, прописав в файле .htaccess следующий код:
RewriteEngine on RewriteCond %
Просто замените расширение файла: php, на своё расширение, допустим: html.
Загружайте файл .htaccess в корневую директорию Вашего сервера, и .htaccess уберёт из адресной строки расширения которые Вы указали.
Только перед тем как что то менять в файле .htaccess, обязательно делайте резервную копию этого файла, на случай если что то пойдёт не так. Будьте внимательны с .htaccess, без наличия определённых знаний с этим файлом шутки плохи, можно полностью нарушить работоспособность Вашего сайта.