Перенаправить все в index.php

Я пытаюсь сделать чистые URL взрыва $_SERVER['REQUEST_URI'] а затем переключаться между результатами.

Однако, как только пользователь выходит на улицу index.phpЯ предполагаю, что мне нужно перенаправить их обратно index.php для обработки URL, который они хотят достичь. Как я могу сделать это?

Так, например, если пользователь идет в www.domain.com/home/johndoe/... мне бы хотелось index.php (domain.com/index.php) быть пораженным, чтобы он мог обрабатывать /home/johndoe/ с помощью request_uri,

3 ответа

Решение

.htaccess:

RewriteEngine on
RewriteBase /
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule  ^(.*)$ index.php?param=$1 [QSA,L]

Вы можете использовать mod_rewrite в Apache для сопоставления URL-адресов на основе регулярных выражений, включая отправку всего index.php,

Вам понадобятся изображения и другие файлы, которые будут отображаться в index.php.

RewriteEngine On

Включает двигатель Rewite

RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$

Если имя файла не равно JPG, JPEG... который нужен для index.php

RewriteRule ^(.*)$ index.php?q=$1 [QSA]

"Перенаправить" на index.php.

В использовании:

С PHP $_GET q даст вам /articles/1987/12/20/Répa's birthday/

Если вы разделите переменную в каждом слэше с

list($type, $date_year, $date_month, $date_day, $title) = split('[/-]', $_GET['q']);

Вы получите именно то, что вы хотите.

Другие вопросы по тегам