Top.Mail.Ru
Ответы

RewriteEngine (Чпу не получается)

Установлен локальный сервер денвер. Хочу сделать понятную ссылку. На данный момент: http://test4.ru/photo.php?id=1. Перебрал всё что нашёл вы интернете, не получается. Какой должен быть код написан в файле .htaccess ?

По дате
По рейтингу
Аватар пользователя
Мыслитель
5лет

В минимальных условиях достаточно этого:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php

php_value default_charset utf-8
AddType 'text/html; charset=utf-8' .html .htm .shtml

А в индексе уже считываешь url и выдаёшь браузеру то, что нужно, в зависимости от запроса.

Аватар пользователя
Мастер
5лет

Например так:
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?q=$1 [QSA,L]

Пример использования:
входящий url test4.ru/photo/1
получить запрос можно через $_GET['q'] или же создать по аналогии правила для каждого раздела отдельно

можно заменить RewriteRule ^(.*)$ index.php?q=$1 [QSA,L] на RewriteRule ^(.*)$ index.php [QSA,L] и получать url через $_SERVER['REQUEST_URI']

Больше по теме