Я пытаюсь сделать чистые URL путем взрыва $_SERVER['REQUEST_URI']
и затем переключаясь между результатами.
Однако, после того как пользователь выходит на улицу index.php
, Я предполагаю, что должен перенаправить их назад к index.php
для обработки URL, они хотят достигнуть. Как я могу выполнить это?
Так, например, если пользователь переходит в www.domain.com/home/johndoe/...
Я хотел бы index.php
(domain.com/index.php
) быть пораженным так, чтобы это могло обработать /home/johndoe/
через request_uri
.
.htaccess:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?param=$1 [QSA,L]
Вы можете использовать Apache mod_rewrite для сопоставления URL-адресов на основе регулярных выражений, включая отправку всего на index.php
,
Вам потребуются изображения и другие файлы, которые появятся. в index.php.
RewriteEngine On
Включает Rewite Engine.
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
даст вам / article / 1987/12/20 / День рождения Репы /
Если вы разделяете переменную на каждую косую черту с помощью
list($type, $date_year, $date_month, $date_day, $title) = split('[/-]', $_GET['q']);
. Вы получите именно то, что хотите.