Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2013, 16:59   #1
deemka777
Пользователь
 
Регистрация: 22.02.2011
Сообщений: 38
По умолчанию url чпу

Создал в корне сайта .htaccess с параметрами:

Код HTML:
RewriteEngine On

RewriteRule ^([^/]*)/([^/]*)$ /index6.php?a=$1&b=$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index6.php?a=$1&b=$2&c=$3 [L]
не могу понять следующее:
когда я ввожу сайт.ru/значение1/значение2/значение3/
результат получаю, такой же как и по след. ссылке
сайт.ru/a=значение1&b=значение2&c=значение3

т.е. чпу работает.

когда выполняется страница с методом GET, выводится этот вариантсайт.ru/a=значение1&b=значение2&c=значение3, нужно сайт.ru/значение1/значение2/значение3/

т.е. что бы при выполнении он уже принимал этот вид.
deemka777 вне форума Ответить с цитированием
Старый 26.05.2013, 17:17   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Все ссылки на сайте при переходе с GET-формата (сайт.ru/a=значение1&b=значение2&c=значение3 ) на ЧПУ-формат (сайт.ru/значение1/значение2/значение3/) нужно изменять вручную.
Правила для ЧПУ в .htaccess не изменяют сам внешний вид ссылок – они только позволяют обрабатывать новые ЧПУ-ссылки теми же старыми обработчиками, без необходимости изменять код приложения.
Andkorol вне форума Ответить с цитированием
Старый 26.05.2013, 17:32   #3
deemka777
Пользователь
 
Регистрация: 22.02.2011
Сообщений: 38
По умолчанию

смысл понял. в ссылках поменять делов-то

вот тут же поменять ничего нельзя? index.php?c=10
<form method=GET>
<button name=c value=10>10</button>
</form>
deemka777 вне форума Ответить с цитированием
Старый 26.05.2013, 17:42   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от deemka777 Посмотреть сообщение
вот тут же поменять ничего нельзя? index.php?c=10
<form method=GET>
<button name=c value=10>10</button>
</form>
Можно метод изменить на POST, например, с соответствующими изменениями в обработчике формы – в этом случае формат URL не критичен.

Можно выполнять редирект из обработчика формы на страницу, имеющую URL уже в формате ЧПУ – что, на самом деле, и нужно делать после обработки любой формы.
Это позволяет избегать повторной отправки данных при обновлении страницы с формой.
Andkorol вне форума Ответить с цитированием
Старый 26.05.2013, 17:47   #5
deemka777
Пользователь
 
Регистрация: 22.02.2011
Сообщений: 38
По умолчанию

Andkorol, спасибо за совет.
сейчас буду пробовать
deemka777 вне форума Ответить с цитированием
Старый 26.05.2013, 18:18   #6
deemka777
Пользователь
 
Регистрация: 22.02.2011
Сообщений: 38
По умолчанию

как-то так получилось))
PHP код:
<?php
    
function redirect_php($url,$timer=0){ 
    echo 
'<meta http-equiv="refresh" content="'.$timer.'; url='.$url.'">'
}
    
    echo 
"<form method='POST'>
    <button name='c' value='10'>10</button><br>
    <button name='c' value='20'>20</button><br>
    <button name='c' value='30'>30</button><br>
    </form>"
;

    if(
$_POST['c']=='') {
    }else{
    
$URL="http://сайт/".$_POST['c'];
    
redirect_php($URL);
    }

echo 
"Значение get: " .$_GET['c'];

?>
.htaccess
Код HTML:
RewriteEngine On
RewriteRule ^([^/]*)$ /index7.php?c=$1 [L]
выложил, может ещё кому то пригодится.
ещё раз спасибо.
deemka777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЧПУ в Apache moshkin_ura PHP 4 03.10.2012 13:57
ЧПУ kuba1981 PHP 11 02.10.2012 16:23
ЧПУ и Кирилица joe WordPress и другие CMS 1 25.10.2010 14:36
ЧПУ и изображения Linel PHP 6 24.09.2010 09:07