Кто поможет с mod_rewrite

  • Автор темы finogeev
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
F

finogeev

Прохожие
народ кто может подскзать или подробно объяснить как работать с mod_rewrite ?

С настройкой .htaccess всё понятно ...
Мне не понятно, что я должен делать в файле на который перенаправляю страницу ...

Как она распознает виртуальную ссылку ... ?
 
Ну допустим у тебя перенаправление такого вида
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Тогда в файлике index.php анализируем значение $_GET["q"] и выполняем соответствующие действия, выдаем нужный контент

Советую почитать цикл статей на тему mod_rewrite
 
Сапсибо pk2002 !!!
А то я уже бьюсь с ним неделю ...
 
вот пример может пригодится

.htaccess
Код:
RewriteEngine on
RewriteBase /

RewriteRule ^music/([0-9]*)/$ index_.php?pageID=artist&artistID=$1
PHP:
<?php
if (isset($_GET['pageID'])) {
	$pageID = $_GET['pageID'];

	switch ($pageID) {
		case 'artist':	
			include($homepath.'include/sub/artist.php');
			break;
		case '404':	
			header("HTTP/1.0 404 Not Found");
			break;
		default: 
			header("HTTP/1.0 404 Not Found");
			break;
	}
}
?>

человек заходит на somehost.com/music/00432/

00432 - это id какого то поля в базе например, по нему собирается вся страница, если вводится pageID который не описан, то просто показывается ошибка 404
 
Т.е. если мне надо отталкиваться от корня и делать папки не только цифровые но и буквеные я вот так пишу

RewriteEngine on
RewriteBase /

RewriteRule ^([A-Za-z0-9]*)/$ index_.php?pageID=$page
 
В шпаргалке, что я привел смотри третий пример. Я так понял тебе нужно ЧПУ ?
 
Да имеено ЧПУ ....

RewriteRule ^([A-Za-z0-9]*)/$ index_.php?pageID=$page

Одно только не могу понять ...
Как я обрабатывю перемнную $page, точнее подставляю её ???

Если пишу сразу (для проверки)
RewriteRule ^([A-Za-z0-9]*)/$ index_.php?pageID=page
То урл работает, если через перемеенную то нет ...

как я должен присвоить значение $page
 
вместо $page пропиши в правиле $1
 
ВСЕМ БОЛЬШОЕ СПАСИБО !!!
ВСЕ РАБОТАЕТ И РАЗОБРАЛСЯ!!!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху