Возник следующий вопрос: при создании новой страницы хочу сделать красивые URL. Делаю через mod_rewrite. Но возникло такое, что как мне изменять данные в .htaccess после создания новой страницы? Открываться файл для записи и записывать новое правило??? Направьте на путь истинный..
А зачем изменять-то его?? О.о Что за дурость переписывать файл постоянно? Код (Text): RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?mod=static&page=$1 Это уже даёт бесконечное число страниц.
Да, Apple, пасиб. Уже сам это понял) Теперь следующий вопрос: а если создавать подменю, тоесть вложеные страницы. Учитываю что они могут на разных уровня от корневой директории?
Создай правило, вроде Код (Text): RewriteRule ^category/(.+)/?$ index.php?mod=category&cid=$1 А затем из скрипта парсируй, делай что-то вроде: PHP: <?php if(strpos($_GET['cid'], '/') !== false) { $url = explode('/', trim($_GET['cid'], '/')); } else $url = (array) $_GET['cid']; // --- echo '<pre>' . print_r($url, true) . '</pre>'; ?>
Andrey5555 RewriteRule ^(.+)$ content.php?$1 таким образом, ты перенаправишь вообще все запросы на файл content.php.
Apple перенаправляешь != редиректишь. да, наверное, не слишком удачный термин. тогда уж перехватываешь все запросы и обрабатываешь из скриптом cintent.php
Возник опять вопрос по этой теме) Надеюсь Apple подскажет) RewriteRule ^([a-zA-Z_]+)/([0-9a-z]+)/$ /?task=$1&code=$2 [L] RewriteRule ^([a-zA-Z_]+)/([0-9]+)/$ /?task=$1&id=$2 [L] Надо что бы сервер понимал разницу между id и code) Не представляю как сделать.. Подскажите, а?