Помощник
|
ЧПУ - Mod Rewrite (.htaccess) |
test_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
ZhukV |
12.1.2011, 12:45;
Ответить: ZhukV
Сообщение
#2
|
|
.htaccess:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] index.php [PHP] $CHPU = explode('/', $_GET['page']); [/PHP] Это простой пример. [PHP] $temp = "http://test/page/forall/?action=log"; $temp = explode('?', $temp); $href = $temp[0]; if($temp[1]){ $temp = explode('&', $temp[1]); foreach($temp as $value){ $temp = explode('=', $value); if($temp[1]){ $href .= $value . '/'; } } } echo $href; [/PHP] |
|
|
test_hb
|
Сообщение
#3
|
|
.htaccess: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] Спасибо, но условие неверно откуда взялся index.php? когда урл: http://test/page/main/?action=add&id=31 И еще, регексп неверный ^(.*)$ - блокирует изображения и все url (ну например - пути к css файлам и т.п.) :) Если быть точным у меня - есть условие на ЧПУ но оно насовсем корректно работает: RewriteRule ([^?]+)?$ index.php?link=$2 [NC,QSA,L] http://test/index.php?link=main&action=add&id=31 |
|
|
Webmaster_hb |
13.1.2011, 13:53;
Ответить: Webmaster_hb
Сообщение
#4
|
|
Спасибо, но условие неверно откуда взялся index.php? когда урл: http://test/page/main/?action=add&id=31 И еще, регексп неверный ^(.*)$ - блокирует изображения и все url (ну например - пути к css файлам и т.п.) :) Если быть точным у меня - есть условие на ЧПУ но оно насовсем корректно работает: RewriteRule ([^?]+)?$ index.php?link=$2 [NC,QSA,L] http://test/index.php?link=main&action=add&id=31 приведенный выше htaccess проверяет существует ли физически такой файл или папка к которому обращается (по этой причине все статические файлы, js,css,jpg и т.п. не будут попадать под это правило) и если такого файла нет, то делает редирект полный на файл imdex.php внутри которого вы можете сами написать любые преобразования ! |
|
|
test_hb
|
Сообщение
#5
|
|
Преобразования у меня написаны - вот такой регексп но работает он не совсем, чем нужно:
~(?:([a-z0-9_/-]+)(?:/))?(?:([a-z0-9_-]+)(?:\.html))?~i Суть его - что он обрабатывает только часть урлов например: http://test/index.php?link=new&act=s&id=1 - выводит как: http://test/new/1.html , а урлы вида: http://test/index.php?link=main&act=add&id=31 - не понимает. |
|
|
ZhukV |
13.1.2011, 16:18;
Ответить: ZhukV
Сообщение
#6
|
|
test, для начала советую Вам разобратся, что такое ЧПУ, и как работает .htaccess!!! А потом уж лезть (судя из Ваших постов)
|
|
|
ZhukV |
13.1.2011, 16:19;
Ответить: ZhukV
Сообщение
#7
|
|
|
Намного проще скрипту передать всю адресную строку, а в PHP скрипте уже формировать то, что нужно.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как перенести правила переадресации из .htaccess в php обработчик nginx? | 0 | KrisGuseva | 2097 | 28.12.2019, 7:33 автор: KrisGuseva |
|
Куплю сайт с трафиком тема метаоллообработка, металлоконструкции, станки ЧПУ и тп промышленность. | 0 | webcent | 2486 | 1.4.2018, 9:21 автор: webcent |
|
Наладить htaccess на Wordpress | 2 | LebedevStr | 1805 | 25.5.2017, 14:14 автор: LebedevStr |
|
Нужна помощь по настройке ЧПУ в Битриксе | 0 | silvanus | 1296 | 4.6.2014, 9:07 автор: silvanus |
|
Качественный rewrite, написанный с душой. | 19 | Senyajkee | 10273 | 26.5.2013, 19:24 автор: Sholaris |
Текстовая версия | Сейчас: 24.4.2024, 3:14 |