Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как сделать ЧПУ?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Rooner
Отправлено: 02 Октября, 2012 - 11:37:18
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




Как сделать из адреса http://test[dot]ru/product/34 ЧПУ-адрес http://test[dot]ru/product/kojanie-perchatki
(Добавление)
У меня самописный сайт, нужно использовать какие-то сторонние модули?
 
 Top
KingStar
Отправлено: 02 Октября, 2012 - 11:45:06
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




здесь не rewrite нужно, а самому обрабатывать ссылку вида

CODE (htmlphp):
скопировать код в буфер обмена
  1. http://test.ru/product/kojanie-perchatki

0. в таблице создается поле, в него заносится kojanie-perchatki
1. и далее как обычно, выборка, массифф Подмигивание

само условие не преобразует тебе цифры в kojanie-perchatki


-----
То что программа работает, не означает что она написана правильно!
 
 Top
Rooner
Отправлено: 02 Октября, 2012 - 11:54:06
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




KingStar, не пойму как быть, если при обращении к странице product/kojanie-perchatki сервер ее попросту не обнаружит? Нужно ведь в htaccess указать серверу куда обращаться по данному запросу product/kojanie-perchatki
(Добавление)
А, кажется понял
В htaccess написать:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^product/([^/\.]+)/?$ product.php?name=$1 [L]

А потом в product.php делать выборку из базы по name
 
 Top
KingStar
Отправлено: 02 Октября, 2012 - 12:03:55
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




Rooner чудеса дедукции Подмигивание


-----
То что программа работает, не означает что она написана правильно!
 
 Top
Rooner
Отправлено: 02 Октября, 2012 - 14:02:06
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




Как изменить регулярку, чтобы она понимала такую страницу
http://test[dot]ru/product/kojanie-perchatki[dot]html
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. RewriteRule ^product/([^/\.]+)/?$ product.php?name=$1 [L]


И потом получится в product.php:
$_GET['name'] = 'kojanie-perchatki.html';
Верно?
 
 Top
KingStar
Отправлено: 02 Октября, 2012 - 14:09:35
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^product/([^/\.]+)\.(php|html)?$ product.php?name=$1 [L]


-----
То что программа работает, не означает что она написана правильно!
 
 Top
Rooner
Отправлено: 02 Октября, 2012 - 14:22:15
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




KingStar, спасибо, работает
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Октября, 2012 - 14:50:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Rooner, более конкретно и проще некуда: http://forum.php.su/topic.php?fo...33&topic=736
 
 Top
AlexAnder
Отправлено: 02 Октября, 2012 - 14:57:56
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)





DeepVarvar пишет:
более конкретно и проще некуда: http://forum.php.su/topic.php?forum=33&topic=736

пригодиться, спс Язычок

(Отредактировано автором: 02 Октября, 2012 - 14:58:16)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
avtor.fox
Отправлено: 02 Октября, 2012 - 15:10:35
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




DeepVarvar
Будь любезен, подскажи Закатив глазки
Я в htaccess дуб-дубом. Мне нужна ссылка такая
- http://site[dot]com/tk?id=1
сейчас работаю с
- http://site[dot]com/tk/1

Получается делать вот так
- http://site[dot]com/tk&id=1
(print_r($_GET) выдаст Array ( [q] => tk [id] => 1 ) )

А вот самый смак в "вопросике" Ха-ха

По твоему примеру*
 
 Top
AlexAnder
Отправлено: 02 Октября, 2012 - 15:14:00
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




avtor.fox пишет:
DeepVarvar
Будь любезен, подскажи Закатив глазки
Я в htaccess дуб-дубом. Мне нужна ссылка такая
- http://site[dot]com/tk?id=1
сейчас работаю с
- http://site[dot]com/tk/1

Получается делать вот так
- http://site[dot]com/tk&id=1
(print_r($_GET) выдаст Array ( [q] => tk [id] => 1 ) )

А вот самый смак в "вопросике" Ха-ха

По твоему примеру*

PHP:
скопировать код в буфер обмена
  1. $_GET['q']='tk';
  2. $_GET['id]='1'; // 1

http://site[dot]com/?q=tk&id=1


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
avtor.fox
Отправлено: 02 Октября, 2012 - 15:15:46
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Думаю над вариантом -
RewriteRule ^(.*) index.php?q=$1?%{QUERY_STRING} [L]
И уже в "роутере" разбить на параметры, так как 'q' придёт вида
- http://site[dot]com/tk?id=1&a=test
Array ( [q] => [tk?id=1] [a] => [test] )
(Добавление)
AlexAnder
Вот куда ты лезешь? Улыбка
 
 Top
AlexAnder
Отправлено: 02 Октября, 2012 - 15:20:01
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)





avtor.fox пишет:
Вот куда ты лезешь? Улыбка

сорри, что помешал, но по-моему у тебя ошибка была, а я её подправил Улыбка


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
avtor.fox
Отправлено: 02 Октября, 2012 - 15:21:30
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




AlexAnder
Нет никакой ошибки. Почитай "урок" от DeepVarvar, поймёшь о чём я Улыбка
(Добавление)
Всё, я разобрался.

http://site[dot]com/page?id=1
Можно получить вот так -
RewriteRule ^(.*) index.php?q=$1 [QSA]
Закатив глазки
 
 Top
Rooner
Отправлено: 02 Октября, 2012 - 15:50:07
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




DeepVarvar пишет:
более конкретно и проще некуда: http://forum.php.su/topic.php?forum=33&topic=736

DeepVarvar, спасибо, попробую обрабатывать все запросы на одной странице, а то слишком все запутано получается.
(Добавление)
У меня есть страница с таблицей товаров, работает сортировка и постраничная навигация на php. Вот например как выглядят ссылки:
category.php?cid=165&page=2&sort=price&desc

Как быть с передаваемыми параметрами, если хочется чтобы ссылки выглядели вот так
/syveniry.html

Мой вариант такой
/syveniry.html?page=2&sort=price&desc
Но он наверняка не понравится поисковикам
Есть решение по лучше?

(Отредактировано автором: 02 Октября, 2012 - 16:22:58)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB