[help] Mod rewrite

Статус
В этой теме нельзя размещать новые ответы.
не пойму, почему wamp не переваривает .htaccess?
 
загляни в настройки апача (httpd.conf), может там mod_rewrite не включен и/или отсутствует модуль mod_rewrite.so.. проверь, есть ли в этом конфиге в настройках хоста запись типа AllowOverride, ее значение для включения htaccess должно быть all, при этом в htaccess после инициализации mode_rewrite имеет смысл поставить запрет на его чтение - RewriteRule ^.htaccess$ - [F]..

а вообще, юзай лучше denwer (_http://www.denwer.ru/) - portable, отлично масштабируемый, все настройки "на поверхности", дополнений на все (ну почти) случаи, русский, отличный саппорт (_http://forum.dklab.ru/index.php?c=4).. вообщем для отладки только свой сервер на freebsd лучше (на виртуалке, напр), я так считаю..

зы.. вот из форума wamp: If you use rewrite engine module, you have to activate it from wamp menu. Apache -> Apache module -> rewrite_module
 
Подправил код до такого
Код:
RewriteEngine On
RewriteBase /
RewriteRule ^listing_details/(.+)/$ /$1/ [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
Теперь уже еррор в другом

то он выдаст 404 Not Found
 
попробуй заменить

RewriteRule .* index.php

на

RewriteRule ^(.*)$ index.php [L,QSA]
 
Во первых:
RewriteRule ^listing_details/(.+)/?$ /$1/ [L]


Во вторых (поставить перед "во-первых":(
RewriteRule ^(.+)[^/]$ /$1/ [L]


т.е. отсутсвия конечных "/". По идее должно работать...
 
Во первых:
RewriteRule ^listing_details/(.+)/?$ /$1/ [L]
*** скрытое содержание ***
Во вторых (поставить перед "во-первых":(
RewriteRule ^(.+)[^/]$ /$1/ [L]
*** скрытое содержание ***
т.е. отсутсвия конечных "/". По идее должно работать...
Строчка
RewriteRule ^(.+)[^/]$ /$1/ [L]
кидает сайт в 500 ошибку интернал еррор...=(
 
Строчка
RewriteRule ^(.+)[^/]$ /$1/ [L]
кидает сайт в 500 ошибку интернал еррор...=(

Попробуйте так, давно уже сталкивался с такой же проблемой, но как тогда решил ситуацию, не помню наверняка...

Проверил такой вариант. Вроде работает, если я все верно понял...

RewriteEngine On
RewriteBase /
RewriteRule ^listing_details/(.+)/?$ /$1/ [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [R,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
 
Попробуйте так, давно уже сталкивался с такой же проблемой, но как тогда решил ситуацию, не помню наверняка...
Проверил такой вариант. Вроде работает, если я все верно понял...
RewriteEngine On
RewriteBase /
RewriteRule ^listing_details/(.+)/?$ /$1/ [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

Кажется я понял, почему не работает.

Ссылки имеют вид не


Просто сайт открывает объект и по первой и по второй. Но видимо первоисточник - вторая ссылка.

Может нужно редиректить вторую ссылку уже на ай-ди ?
 
bugerok, напиши, пожалуйста, какие ссылки у тебя стоят на сайте на страницах, и что должно происходить при открытии этих ссылок.
 
bugerok, напиши, пожалуйста, какие ссылки у тебя стоят на сайте на страницах, и что должно происходить при открытии этих ссылок.
*** скрытое содержание ***

Нужно, что бы ссылка такого вида

ссылалась на


Но по дефолту движок отображает одинаковые объекты сразу по 2 ссылкам :
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху