Forum Webscript.Ru
Программирование => PHP => Тема начата: yusoft от 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 работает нормально :(
Что я делаю не так?
-
И что у тебя в $1 по-твоему???
Я бы написал вроде:
RewriteEngine on
RewriteRule ^/doc/+(.*)$ /полный/путь/doc.php?id=$1 [NC,L]
-
Кстати, тот же Яндекс и Рамблер умудряются довольно прилично индексировать сайт с "кривыми" ссылками. Мож не стОит овчинка выделки?
-
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
Т.е. получается, что скрипту не передается значение переменной.
В чем может быть проблема?
-
praw2003:
Кстати, тот же Яндекс и Рамблер умудряются довольно прилично индексировать сайт с "кривыми" ссылками. Мож не стОит овчинка выделки?
... заодно хочу разобраться с mod_rewrite. В документации описано просто, а не работает. А насчет "кривых ссылок" - "прямые" и смотрятся эстетичнее, и шансов на их нормальное индексирование больше.
-
yusoft
А ты свою переменную попробуй так:
echo $_GET[\'id\'];
?>
-
MadDog:
А ты свою переменную попробуй так:
echo $_GET[\'id\'];
?>
Не помогает, сообщение то же :(
Может, проблема в софте? Я пользуюсь пакетом Денвер (http://web.dklab.ru) (Apache+PHP+MySQL) под WinNT 4.0
-
Та же фигня :(
-
yusoft
Сноси ты этот Денвер. Качай всё по отдельности и устанавливай. Других мыслей у меня нет, т.к. у меня всё работает нормально.
-
Может быть, я изрядно туплю :), но, судя из логики PCRE, должно "doc/?id=3" заменяться на "doc.php?id=3". Так у меня работает.
-
Кстати, рекомендация качать все по отдельности весьма дельная. Я скачал phpdev, посмотрел на него и скачал все заново :).