X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> ЧПУ - Mod Rewrite (.htaccess)
test_hb
test_hb
Topic Starter сообщение 12.1.2011, 10:15; Ответить: test_hb
Сообщение #1


Добрый день, подскажите по ЧПУ:
Есть URL: http://test/page/main/?action=add&id=31
Нужен: http://test/page/main/add/31
***
Есть URL: http://test/page/forall/?action=log
Нужен: http://test/page/forall/log
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
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]


(test_hb @ 12.1.2011, 12:15) *

index.php
[PHP]
$CHPU = explode('/', $_GET['page']);
[/PHP]
Это простой пример.

(test_hb @ 12.1.2011, 12:15) *


[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
test_hb
Topic Starter сообщение 13.1.2011, 13:25; Ответить: test_hb
Сообщение #3


(ZhukV @ 12.1.2011, 14:45) *
.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
Webmaster_hb
сообщение 13.1.2011, 13:53; Ответить: Webmaster_hb
Сообщение #4


(test_hb @ 13.1.2011, 15:25) *
Спасибо, но условие неверно откуда взялся 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
test_hb
Topic Starter сообщение 13.1.2011, 14:22; Ответить: 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
ZhukV
сообщение 13.1.2011, 16:18; Ответить: ZhukV
Сообщение #6


test, для начала советую Вам разобратся, что такое ЧПУ, и как работает .htaccess!!! А потом уж лезть (судя из Ваших постов)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 13.1.2011, 16:19; Ответить: ZhukV
Сообщение #7


Намного проще скрипту передать всю адресную строку, а в PHP скрипте уже формировать то, что нужно.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как перенести правила переадресации из .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


 



RSS Текстовая версия Сейчас: 24.4.2024, 3:14
Дизайн