|
|
|
| Помогите сделать чпу акова вида!
Из адреса такова - index.php?mod=index&id=panker_123_76f788f8
нужно сделать такой вот panker_123_76f788f8.html
тоисть просто ghtdhfnm из ID в хтмл страницу :)
Заранее спасибо! | |
|
|
|
|
|
|
|
для: Panker
(20.09.2006 в 11:41)
| | Попробуйте поместить в файл .htaccess следующие инструкции
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^/([a-zA-Z0-9_]+)\.html /index.php?mod=index&id=$1
|
| |
|
|
|
|
|
|
|
для: cheops
(20.09.2006 в 12:14)
| | Вот такое чудо раньше было http://kmk/index.php?mod=index&id=panker_123_76f788f8
сейчас зашол по адресу http://kmk/panker_123_76f788f8.html не работает :( | |
|
|
|
|
|
|
|
для: Panker
(20.09.2006 в 14:12)
| | Для отладки используйте такой скрипт
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^/([a-zA-Z0-9_]+) /index.php?mod=index&id=$1
|
А в index просто выводите значение параметра $1 - передаётся оно или нет
<?php
echo $_GET['id'];
?>
|
А вместо panker_123_76f788f8.html попробуйте подставить что-то другое, например, panker_123_76f788f8 | |
|
|
|
|
|
|
|
для: cheops
(20.09.2006 в 20:23)
| | допустим выводит PANKER но если я зхожу по адресу www.adres.ru/panker пишит не т такой странице | |
|
|
|
|
|
|
|
для: Panker
(21.09.2006 в 11:06)
| | Ага, лишний / в начале, давайте так
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=index&id=$1 [L]
|
| |
|
|
|
|
|
|
|
для: cheops
(21.09.2006 в 12:58)
| | ага, сработала, но вот я по тому же принципу хотел сделать страницу новостей но не работает
пишу вот так
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=index&pid=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=news&nid=$1 [L]
жирным выделенно то чт оя пытаюсь заменить у новостей
адрес новостей сейчас такой index.php?mod=news&nid=aad7aa600d хотелось бы получить так же aad7aa600d.html
что я не так сделал? | |
|
|
|
|
|
|
|
для: Panker
(21.09.2006 в 16:47)
| | А новости выводятся корневым index.php или расположены в подкаталоге корневого каталога? | |
|
|
|
|
|
|
|
для: cheops
(21.09.2006 в 18:48)
| | хех немного не допонел вас :)
Но скажу что понел :)
У меня типа так!
Определяет ГЕТ запрос, и если гет запрос index
то грузится файл modules/index.php
есди в ГЕТ запросе news то грузится modeles/news.php
как бы так,а модули в свою очередь грузят данные!
Так же взависемости от ГЕТ запроса догоже грузится шаблон!
Гет запрос определяющий модуль называется mod
тоисть вот так будет для новостей index.php?mod=news
а так для текста и страниц index.php?mod=index | |
|
|
|
|
|
|
|
для: Panker
(22.09.2006 в 11:00)
| | А вот что заметил
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=index&pid=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=news&nid=$1 [L]
|
Вопервых параметр [L] останавливает работу модуля mod_rewrite, как только найдено соответствие, а соответствие находится сразу для первого правила. Второе правило, у вас идентично первому - нужно сделать их различными, префекс, что-ли какой-то ввести. Модуль mod_rewrite не может определить по URL вида panker_123_76f788f8.html, где у вас статья, а где новости.
Если новости бы у вас начинались всегда с префикса news_, тогда можно было бы использовать следующий набор правил
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^new_([a-zA-Z0-9_]+)\.html$ /index.php?mod=news&nid=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=index&pid=$1 [L]
|
| |
|
|
|
|
|
|
|
для: cheops
(22.09.2006 в 11:43)
| | Вот сообразил!
смотрите у меня модули так как я на верху писал, типа так
index.php?mod=MODUL или index или news
короче .. мля МНЕ ОЧНЕЬ ТРУДНО ОБЬЯСНИТЬ ((
вот я хотел сделать так RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=$1 [L]
что бы модуль index.php?mod=news заменился на news,html но тогда получается каждый модуль меняется!
а у меня так же меняются обычные страницы на stranica.html и после такой замены у меня скрипт думает что ОБЫЧНАЯ СТРАНИЦА ЭТО МОДУЛЬ и происходит загвозка, у меян типа скрипт думает это модуль и ищет шаблон для него =(
но шаблона нет и получается обычная старница!
ВОТ КОРЧОЕ Я ПОНЕЛ :)
как мне хзаменить КОНКРЕТНЫЙ АДРЕС index.php?mod=news на news.html не трогая адреса типа
ndex.php?mod=modul ndex.php?mod=index что бы конкретно адрес менялся с модулем news ( ndex.php?mod=news ) ??
помогите а то я модулями апутался и чпу как то не доделать до конца ) | |
|
|
|
|
|
|
|
для: Panker
(22.09.2006 в 12:09)
| | OOOOOOOOOOOoooooooo
вот придумал
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=$1 [L]
RewriteRule ^new_([a-zA-Z0-9_]+)\.html$ /index.php?mod=news&nid=$1 [L]
RewriteRule ^page_([a-zA-Z0-9_]+)\.html$ /index.php?mod=index&pid=$1 [L]
|
страницы тоже пусть с префиксом будут!
НО ВОТ ТО ЧТО ЖИРНЫМ не работает
мля я опять напутал :)
плиз помогите вот опять и с вашим примером запутался вроде работает и опят ья гдето руками своими влез :) | |
|
|
|
|
|
|
|
для: Panker
(22.09.2006 в 12:19)
| | OOOOOooooooooo
Cheops - плиз прости, туплю очень сильно и тебя напрегаю, всё сделал всё работает и страницы раздельно и модули и новости ))) БОЛЬШОЕ ТЕБЕ СПАСИБО )))
моя КМС преобретает товарный вид )))) | |
|
|
|
|
|
|
|
для: Panker
(22.09.2006 в 12:19)
| | Строку
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=$1 [L]
|
либо вообще уберите, либо в конец поставьте, так как она самая общая, и под неё все URL подходят
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^new_([a-zA-Z0-9_]+)\.html$ /index.php?mod=news&nid=$1 [L]
RewriteRule ^page_([a-zA-Z0-9_]+)\.html$ /index.php?mod=index&pid=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /index.php?mod=$1 [L]
|
А так у нас если new_ и page_ будут находится первыми, далее проверка правил производиться не будет, так как мы её останавливаем при помощи параметра [L]. | |
|
|
|