Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Преобразование GET-параметров при помощи mod_rewirite
 
 автор: Panker   (19.07.2006 в 04:20)   письмо автору
 
 

сейчас на мускуле начал делать всякую фигню :) ну как обычно )
сделал вроде бы всё ))
страницы выводятся так
index.php?id=6 id типа ну понятно равно 6 значит выводит всё из айди 6!
или допустим ?id=panker
вот как мне чпу сделать УМОЛЯЮ ПРИМЕРОМ :( не могу понять этот чпу!
как сделать что бы место ?id=panker было просто panker.html ?
или хотя бы просто /panker/ ?
Умоляю помогите :(

   
 
 автор: WinT   (19.07.2006 в 05:14)
 
   для: Panker   (19.07.2006 в 04:20)
 

Можно mod_rewrite использовать, но говорят для сервера это не безопасно.

   
 
 автор: Panker   (19.07.2006 в 06:08)   письмо автору
 
   для: WinT   (19.07.2006 в 05:14)
 

мне бы пример хотя бы каконить :( ваще не врубаюсь чт ок чему :)

   
 
 автор: cheops   (19.07.2006 в 11:23)   письмо автору
 
   для: Panker   (19.07.2006 в 04:20)
 

Можно воспользоваться следующим .htaccess
RewriteEngine On 
RewriteBase / 
RewriteRule cat/([a-z^\.]+).html index.php?id=$1

Тогда вместо URL http://www.site.ru/cat/panker.html будет загружаться страница http://www.site.ru/id=panker

   
 
 автор: mihdan   (19.07.2006 в 13:04)   письмо автору
 
   для: cheops   (19.07.2006 в 11:23)
 

Я понял, что ему наоборот надо :вместо URL http://www.site.ru/id=panker будет загружаться страница http://www.site.ru/cat/panker.html, тогда так


RewriteEngine On  
RewriteRule ^index.php?id=(.*)$ /cat/$1.html 


Второй вариант


RewriteEngine On  
RewriteRule ^index.php?id=(.*)$ /cat/$1/


тогда вместо URL http://www.site.ru/id=panker будет загружаться страница http://www.site.ru/cat/panker/

   
 
 автор: Panker   (21.07.2006 в 02:56)   письмо автору
 
   для: mihdan   (19.07.2006 в 13:04)
 

что то ещё надо?
а то у мну не работает, фто то думается мне малова та этого? или всё так просто ? ))
захожу http://cms/index.html?id=asd остаюсь на главной ((
в файле ххтп или как то так написал вот
RewriteEngine On
RewriteRule ^index.html?id=(.*)$ /cat/$1.html

   
 
 автор: Snorri   (21.07.2006 в 08:11)   письмо автору
 
   для: Panker   (21.07.2006 в 02:56)
 

про базу забыли?
RewriteBase /


RewriteEngine On
RewriteBase /
......

   
 
 автор: Panker   (21.07.2006 в 10:01)   письмо автору
 
   для: Snorri   (21.07.2006 в 08:11)
 

простите
RewriteEngine On
RewriteBase /
......
ниже что то должно быть или то чт овыше написано ниже этого?
блин запутался :)

   
 
 автор: Panker   (21.07.2006 в 10:01)   письмо автору
 
   для: Panker   (21.07.2006 в 10:01)
 

или там адреса ? или что то (( ааа блин скоко этих чпу не смотрел не мпог понять :( у каждого по свойму как то :(
плиз очень подробно ЕСЛИ НЕ ТРУДНО :(

   
 
 автор: Snorri   (21.07.2006 в 10:06)   письмо автору
 
   для: Panker   (21.07.2006 в 10:01)
 

конечно
вы пишите

RewriteEngine On 
RewriteRule ^index.html?id=(.*)$ /cat/$1.html

а надо

RewriteEngine On 
RewriteBase /
RewriteRule ^index.html?id=(.*)$ /cat/$1.html

   
 
 автор: Panker   (21.07.2006 в 14:44)   письмо автору
 
   для: Snorri   (21.07.2006 в 10:06)
 

Ужас какойто ( пишу

RewriteEngine On  
RewriteBase / 
RewriteRule ^index.html?id=(.*)$ /cat/$1.html  так

в общем файл итакой

DirectoryIndex index.html index.php index.shtml 
RemoveHandler .html .htm 
AddType application/x-httpd-php .php .htm .html .phtml
php_value max_execution_time 600
php_flag magic_quotes_gpc on
RewriteEngine On  
RewriteBase / 
RewriteRule ^index.html?id=(.*)$ /cat/$1.html 

захожу по адресу http://cms/index.html?id=panker.html и так http://cms/index.html?id=panker
http://cms/?id=panker.html и как н заходил не фига :( блин показывается всё таже старница (

   
 
 автор: Snorri   (21.07.2006 в 15:20)   письмо автору
 
   для: Panker   (21.07.2006 в 14:44)
 

в действительности все в обратную сторону работает
например, у меня каталог и я не хочу чтобы появлялись всякие вопросики? и &амперсанды
, но обрабатывает у меня всю инфу index.php как быть?
тогда я записываю

RewriteEngine On
RewriteBase /
RewriteRule ^auto/$   index.php

а дальше в index php анализирую запрашиваемый адрес разрезаю его на куски
If(firstLevel=='auto'){}
elseif(firstLevel=='sport'){} и т.д.
т.е для пользователя все выглядит благопристойно!
он отсылает запросы типа www.site.com/auto/ferrari/red/model34z и т.д. а Апач все переписывает, т.е на самом деле обрабатывается все это в index.php

   
 
 автор: Panker   (22.07.2006 в 05:43)   письмо автору
 
   для: Snorri   (21.07.2006 в 15:20)
 

стыдно уже но не фига не понимаю :)
обрабатывается не обрабатывается :(
плиз время будет ещё как нитьь обьясните :(

   
 
 автор: mihdan   (25.07.2006 в 11:53)   письмо автору
 
   для: Panker   (22.07.2006 в 05:43)
 

Так не пробовал?

RewriteEngine On  
RewriteBase / 
RewriteRule ^index.html?id=(.*)$ /cat/$1.html [R=301,L]

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования