После авторизации Вы получите доступ к файлам, скрытым материалам сайта, исходным кодам
возможность комментировать и т.д.

Вы можете авторизоваться на сайте всего одним кликом:

2016-07-10
APACHE → Модуль mod_rewrite
mod_rewrite

В этом уроке я покажу вам как сделать URL-адреса своего сайта более красивыми и убрать расширение файла в адресной строке браузера

Как убрать расширение файла в адресной строке браузера?

Для этого мы будем использовать модуль mod_rewrite. Первым делом необходимо его включить (в файле .htaccess), для этого напишем:

RewriteEngine On

Теперь можем писать команды, которые будут скрывать расширение файла:

#Проверяем, не является ли объект каталогом?
RewriteCond %{REQUEST_FILENAME} !-d

#Убираем .PHP в конце
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

Как скрыть GET-Параметры из URL-адреса?

Предположим, что Ваш сайт использует GET-Параметры в адресной строке браузера и ссылка выглядит примерно так: example.com/?cat=name_cat&id=355 - не красиво, не правда ли? Куда приятней видеть и проще вводить такой адрес: example.com/name_cat/355 - он гораздо более прост для восприятия и более выгоден с точки зрения CEO-Оптимизации.

Реализуем это с помощью директивы RewriteRule:

RewriteRule ^([a-zA-Z]+)/([0-9]+)$ /?cat=$1&id=$2 [L] 

#Разберем, что написано выше
#Выражение можно разделить на 3 части

#Первая часть - объявляем начало замены:
RewriteRule

#Вторая часть - если к серверу поступает запрос вида:
^([a-zA-Z]+)/([0-9]+)$
#Такой /name_cat/355 или такой /lesson/47 и любой другой, который соответствует маске

#Третья часть - преобразуем его в адрес вида:
/?cat=$1&id=$2
#Что соответствует: /?cat=name_cat&id=355 и т.д.

#Завершаем выражение
[L]

Для работы с директивой RewriteRule Вам необходимо понимать регулярные выражения!

630
0
Пожалуйста, авторизируйтесь, чтобы скачать архив с файлами урока