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
Форумы портала PHP.SU :: Версия для печати :: напишите правило для rewrite, пожалуйста
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » напишите правило для rewrite, пожалуйста

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

1. SadWolf - 31 Октября, 2011 - 07:59:29 - перейти к сообщению
Вот адрес http://www[dot]site[dot]ru/tovar.php?mod[dot][dot][dot]3&tov_id=328
Напишите пожалуйста строку RewriteRule, чтобы адрес выглядел как
http://www[dot]site[dot]ru/tovar/cat/33/328
2. vectorserver - 07 Ноября, 2011 - 06:17:22 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteCond %{REQUEST_URI} !^/index.php
  2. RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
3. sKaa - 07 Ноября, 2011 - 06:31:45 - перейти к сообщению
Всё не так просто ))) я сам вчера мучался с mod_rewrite и наконец сделал..
Гляди как :
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. # Rewrite
  3. RewriteEngine On            
  4. Options +FollowSymlinks
  5. RewriteBase /
  6.  
  7. RewriteCond %{REQUEST_FILENAME} !-f # не файл
  8. RewriteCond %{REQUEST_FILENAME} !-d # не папка
  9. RewriteRule (.*) /index.php?p=$0 [L,QSA]
  10.  

я абсолютно все запросы пересылаю не index.php?p=
теперь мои запросы выглядят так же как и ты планируешь сделать.
только есть проблема :
твой адрес : http://www[dot]site[dot]ru/tovar.php?mod[dot][dot][dot]3&tov_id=328
ты получаешь имя модуля в скрипте таким образом $_GET['mod'], название каталогов $_GET['cat'] итд..
а у меня приходит по другому всё..
mysite.ru/cat/33/338
на самом деле выглядит как mysite.ru/?p=cat/33/338
тоесть я разбиваю переменную explode('/', $_GET['p']);
и дальше уже обрабатываю её

 

Powered by ExBB FM 1.0 RC1