Автор Тема: Трабл с mod_rewrite  (Прочитано 5176 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн yusoft

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Трабл с mod_rewrite
« : 28 Октября 2003, 13:44:57 »
Подскажите, плз, чайнику, как решить такую проблему:
хочу изменить структуру сайта, оптимизировав ее для поисковиков, изменив вызовы PHP-скрипта с
http://site.ru/doc.php?id=xxx на http://site.ru/doc/xxx

Для этого прописываю в .htaccess строки

RewriteEngine on
RewriteRule ^(.*)doc/(.*)$ doc.php?id=$1

Скрипт вызывается, но параметры ему не передаются (переменной id значение не присваивается),
хотя конструкция site.ru/doc.php?id=xxx работает нормально :(

Что я делаю не так?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Трабл с mod_rewrite
« Ответ #1 : 28 Октября 2003, 14:00:57 »
И что у тебя в $1 по-твоему???
Я бы написал вроде:
RewriteEngine on

RewriteRule ^/doc/+(.*)$   /полный/путь/doc.php?id=$1 [NC,L]
The documentations is your friend

Оффлайн praw2003

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Трабл с mod_rewrite
« Ответ #2 : 28 Октября 2003, 14:07:19 »
Кстати,  тот же Яндекс и Рамблер умудряются довольно прилично индексировать сайт с "кривыми" ссылками. Мож не стОит овчинка выделки?

Оффлайн yusoft

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Трабл с mod_rewrite
« Ответ #3 : 28 Октября 2003, 14:11:59 »
Цитировать
NeoNox:
И что у тебя в $1 по-твоему???
Я бы написал вроде:
RewriteEngine on

RewriteRule ^/doc/+(.*)$ /полный/путь/doc.php?id=$1 [NC,L]


Сделал так, как ты предлагаешь, не помогло :(

Содержимое .htaccess

RewriteEngine on
RewriteRule ^/doc/+(.*)$ doc.php?id=$1 [NC,L]


Строка запроса http://localhost/doc/1

Файл doc.php:
echo $id;
?>

Сообщение об ошибке:
Notice: Undefined variable: id in z:\\home\\localhost\\www\\doc.php on line 3

Т.е. получается, что скрипту не передается значение переменной.
В чем может быть проблема?

Оффлайн yusoft

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Трабл с mod_rewrite
« Ответ #4 : 28 Октября 2003, 14:17:19 »
Цитировать
praw2003:
Кстати, тот же Яндекс и Рамблер умудряются довольно прилично индексировать сайт с "кривыми" ссылками. Мож не стОит овчинка выделки?


... заодно хочу разобраться с mod_rewrite. В документации описано просто, а не работает. А насчет "кривых ссылок" - "прямые" и смотрятся эстетичнее, и шансов на их нормальное индексирование больше.

Оффлайн MadDog

  • Главный Металликолог
  • Ветеран
  • *****
  • Сообщений: 679
  • +0/-0
  • 2
    • Просмотр профиля
Трабл с mod_rewrite
« Ответ #5 : 28 Октября 2003, 16:35:37 »
yusoft
А ты свою переменную попробуй так:
<?php
echo $_GET[\'id\'];
?>
So let it be written
So let it be done I\'m creeping death

Оффлайн yusoft

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Трабл с mod_rewrite
« Ответ #6 : 28 Октября 2003, 17:33:46 »
Цитировать
MadDog:
А ты свою переменную попробуй так:
echo $_GET[\'id\'];
?>


Не помогает, сообщение то же :(

Может, проблема в софте? Я пользуюсь пакетом Денвер (Apache+PHP+MySQL) под WinNT 4.0

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Трабл с mod_rewrite
« Ответ #7 : 29 Октября 2003, 08:38:08 »
Та же фигня :(

Оффлайн MadDog

  • Главный Металликолог
  • Ветеран
  • *****
  • Сообщений: 679
  • +0/-0
  • 2
    • Просмотр профиля
Трабл с mod_rewrite
« Ответ #8 : 29 Октября 2003, 09:16:48 »
yusoft
Сноси ты этот Денвер. Качай всё по отдельности и устанавливай. Других мыслей у меня нет, т.к. у меня всё работает нормально.
So let it be written
So let it be done I\'m creeping death

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Трабл с mod_rewrite
« Ответ #9 : 29 Октября 2003, 19:21:37 »
Может быть, я изрядно туплю :), но, судя из логики PCRE, должно "doc/?id=3" заменяться на "doc.php?id=3". Так у меня работает.

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Трабл с mod_rewrite
« Ответ #10 : 29 Октября 2003, 19:23:01 »
Кстати, рекомендация качать все по отдельности весьма дельная. Я скачал phpdev, посмотрел на него и скачал все заново :).

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28