Настройка mod_rewrite на локальном компьютере так же как и на хостинге

Mikelangelo

Новичок
Настройка mod_rewrite на локальном компьютере так же как и на хостинге

Добрый день.Возникла следующая проблема:

Есть сайт, который вполне нормально работает на внешнем сервере, но мне нужно его перенести на локальную машину,чтобы можно было по-человечески вносить изменения и обновлять на внешний.В .htaccess понаписано много реврайтов,которые работают на внешнем серваке,но не хотят работать локально.

Как я понял, локально сайт не хочет работать именно из-за реврайтов.

Стал сравнивать через настройки phpinfo. Например, на хостинге в Phpinfo есть строчка с подключенными модулями
(Loaded Modules) и в ней присутствует mod_rewrite, в локальном Phpinfo строчка со списком подключенных модулей вообще отстутсвует,но mod_rewrite точно подключен,во-1 самые простые реврайты выполняются и локально на денвере,а во-2 в httpd.conf прописано LoadModule rewrite_module modules/mod_rewrite.so,то есть mod_rewrite подключен,но,видимо,как-то иначе....

И вот мне нужно локально настроить mod_rewrite так же,как и на внешнем хостинге,а я не знаю с какой стороны подходить...полдня сравнивал phpinfo там и там и в httpd.conf ковырялся,но толку это не дало...

Заранее спасибо за помощь
 
Я полагаю,сайт не хочет работать из-за реврайтов потому что:

1) Ради интереса сделал echo $_GET['имя переменной']. Протестил код на внешнем серевере и локально. На внешнем сервере выводится значение переменной, локально переменная то ли пустая, то ли ее вообще не существует.

2)Локально некорректно работает именно переход по ссылке с адресом,получившимся в результате реврайтов.

-~{}~ 22.03.07 12:53:

phprus

В логи вообще никакие ошибки не пишутся...просто при клике по ссылке осуществляется переход не на тут страницу,которую нужно
 
Ну так и покажите эту нерабочую ссылку.
И как её mod_rewrite обрабатывает.

(Очень сильно сомневаюсь, что дело в mod_rewrite.)

________________________

P.S.
echo $_GET['имя переменной']
— какое это имеет отношение к mod_rewrite?..
 
baev
Вот адрес стрнаицы, с которой ведет ссылка
http://work.buket-spb.ru/catalog.html
ссылка которая локально не работает локально (первый товар в каталоге):
http://work.buket-spb.ru/catalog/type1/subtype12/item158.html

локально если прейти по ней вместо подробного описания товара на странице ничего не изменяется,просто снова показывается содержание каталога
 
Mikelangelo
Может быть стоит показать правила?
 
baev
Ну если переменные, предаваемые методом GET считываются из адреса страницы,а реврайт как раз и позволяет видоизменять этот самый адрес, то на что грешить кроме как на реврайт я не знаю...

-~{}~ 22.03.07 13:30:

Dovg

RewriteRule ^catalog/type([0-9]+)/subtype([0-9]+)/item([0-9]+)\.html$ catalogdetails.php?catalogtype=$2&catalogitem=$3
 
Mikelangelo
локально если перейти по ней вместо подробного описания товара на странице ничего не изменяется,просто снова показывается содержание каталога
var_dump($_GET);
var_dump($_SERVER["REQUEST_URI"]);

там и здесь что показывают?
 
Проверерьте действительно ли работает реврайт.

Например так

RewriteRule ^rewritetest / [R]
Должен произойти редирект на кореневую директорию сайта.

Сылки по реварйту
http://phpclub.ru/detail/article/2001-01-16
http://www.egoroff.spb.ru/portfolio/apache/

Если директория catalog существует, то

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

скорее всего реврайт не работает.
 
Dovg
Для внешнего
array(2) { ["catalogtype"]=> string(2) "12" ["catalogitem"]=> string(3) "158" } string(37) "/catalog/type1/subtype12/item158.html"
Локально
array(0) { } string(37) "/catalog/type1/subtype12/item158.html"

-~{}~ 22.03.07 14:07:

Mr_Max
RewriteRule ^rewritetest / [R] локально работает нормально преадресует на стартовую.
Да и вдругих проектах,которые я делал локально реврайты работали.mod_rewrite то есть,другое дело,что он работает как-то иначе чем на хостинге
 
попробуй переписать правила из .htaccess в соответствующий VirtualHost в httpd.conf
 
Mr_Max
директории сatalog не существует

-~{}~ 22.03.07 14:31:

Black Raven

# Host /home/buket-spb/www (38):
#Listen 127.0.0.1:80
#NameVirtualHost *:*
<VirtualHost *:*>
DocumentRoot "X:/home/buket-spb/www"
ServerName "buket-spb"
ServerAlias "buket-spb" "www.buket-spb"
ScriptAlias /cgi/ "/home/buket-spb/cgi/"
ScriptAlias /cgi-bin/ "/home/buket-spb/cgi-bin/"
ErrorLog "/home/buket-spb/error.log"
RewriteEngine On
RewriteBase /
RewriteRule ^catalog/type([0-9]+)/subtype([0-9]+)/item([0-9]+)\.html$ catalogdetails.php?catalogtype=$2&catalogitem=$3

</VirtualHost>

вот так вот...рестартанул Апач..не заработало
 
<VirtualHost 127.0.0.1>
ServerAdmin webmaster@site
DocumentRoot D:/www/site
ServerName site
<Directory "D:/www/site">
RewriteEngine on
....
много правил
...
</Directory>
</VirtualHost>

-~{}~ 22.03.07 13:41:

http://www.whoopis.com/howtos/apache-rewrite.html
 
Mr_Max
Black Raven

<VirtualHost 127.0.0.1>
ServerAdmin webmaster@site
DocumentRoot X:/home/buket-spb/www
ServerName http://buket-spb
<Directory "X:/home/buket-spb/www">
RewriteEngine on
RewriteRule ^catalog/type([0-9]+)/subtype([0-9]+)/item([0-9]+)\.html$ catalogdetails.php?catalogtype=$2&catalogitem=$3
</Directory>
</VirtualHost>

X - вирутальный диск,созданный Денвером
Локально сайт запускается http://buket-spb.

-~{}~ 22.03.07 15:15:

Так и не заработало
ЗЫ .htaccess я временно удалил
 
Сверху