BNS
Новичок
mod_rewrite - помогите!
У меня на сайте следующая файловая система:
и т.д. - то есть движок вбивает в щаблон ХТМЛ из тхт файлов.
Обращения к этим файлам, к примеру, такие
index.php?cat=contacts&view=index
Задача: переписать ури с content/contacts/index на index.php?cat=contacts&view=index
Я пытался сделать это так:
RewriteRule ^/content/(.*)/(.*)$ /index.php?cat=$1&view=$2
Не помогло... Потом я сделал так:
.htaccess:
links.php:
Сами понимаете, это избыточно, хоть и работает...
Маленькое замечание...
При переписывании чего-то вроде
/content/media надо получить index.php?cat=media
а при
/content/media/audio надо получить index.php?cat=media&view=audio
Как писать if'ы на языке mod_rewrite - я не знаю... Вроде через rewrite_cond, но в этом я разобраться не смог...
У меня на сайте следующая файловая система:
Код:
content/
contacts/
index.txt
ourcontacts.txt
media/
index.txt
video.txt
audio.txt
Обращения к этим файлам, к примеру, такие
index.php?cat=contacts&view=index
Задача: переписать ури с content/contacts/index на index.php?cat=contacts&view=index
Я пытался сделать это так:
RewriteRule ^/content/(.*)/(.*)$ /index.php?cat=$1&view=$2
Не помогло... Потом я сделал так:
.htaccess:
Код:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^content/(.*)$ links.php?%{REQUEST_URI} //передаем весь запрос РНР файлу
Код:
$flag=strpos($QUERY_STRING,"content/"); //проверка, надо ли переписывать
if ($flag===false) { //если не надо
header("Location: " . $QUERY_STRING); //просто так и открываем
} else {
$link=substr($QUERY_STRING,8); //отрезаем content/
$link=str_replace(".php","",$link); //отрезаем .php
list($cat,$view)=split("/", $link); //разбиваем
require "index.php"; //в этом файле - ХТМЛ, переменные cat и view определены - все в порядке.
}
Маленькое замечание...
При переписывании чего-то вроде
/content/media надо получить index.php?cat=media
а при
/content/media/audio надо получить index.php?cat=media&view=audio
Как писать if'ы на языке mod_rewrite - я не знаю... Вроде через rewrite_cond, но в этом я разобраться не смог...


