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 :: Помошите с mod_rewrite

 PHP.SU

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


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

> Без описания
dermff
Отправлено: 06 Января, 2013 - 21:41:07
Post Id


Гость


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


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




Вечер добрый! Есть ссылка вида http://sajt[dot]ru/cat.php?&id=1&p=2
Помогите преобразовать ее в такой вид http://sajt[dot]ru/cat/1/2 при помощи mod_rewrite
 
 Top
KingStar
Отправлено: 06 Января, 2013 - 23:18:42
Post Id



Участник


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^cat/([0-9]+)/([0-9]+)[/]?$ cat.php?id=$1&p=$2 [L]


-----
То что программа работает, не означает что она написана правильно!
 
 Top
dermff
Отправлено: 06 Января, 2013 - 23:26:24
Post Id


Гость


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


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




Спасибо большое!
(Добавление)
Возникла такая проблема, ко всем ссылкам на сайте где есть ссылка на файл cat.php почему-то начало добавляться "1/2". Как это исправить?
 
 Top
KingStar
Отправлено: 07 Января, 2013 - 10:29:22
Post Id



Участник


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


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




это скорее всего браузер автозаполняет, потому что согласно этому условию,

CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^cat/([0-9]+)/([0-9]+)[/]?$ cat.php?id=$1&p=$2 [L]


должны обязательно быть переданы параметры, иначе условие не сработает


-----
То что программа работает, не означает что она написана правильно!
 
 Top
broshurkaplus
Отправлено: 07 Января, 2013 - 11:05:11
Post Id



Посетитель


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


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




так чтоб не всегда передавать можно попробовать

если с гет, то преобразует в урл с гет
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^cat/([0-9]+)/([0-9]+)$ cat.php?id=$1&p=$2 [L]

а если без гет, то по моему такое
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^cat  cat.php [L]

ну или левый параметр можно передать
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^cat  cat.php?get=no [L]



тогда попорядку будет проверять
те в самом файле - если есть гет то выполняется один код, если нет, то другой
попробуйте поэкспериментировать, местами менять, а в самом cat получайте нужные переменные и выполняйте соответствующий код.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB