[help] Mod rewrite

Статус
В этой теме нельзя размещать новые ответы.

bugerok

Профессор
Регистрация
9 Апр 2008
Сообщения
299
Реакции
48
.htaccess:
Код:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^listing_details/(.+)/$ /$1/ [L]
</IfModule>
 
.htaccess:
Код:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^listing_details/(.+)/$ /$1/ [L]
</IfModule>
не захотело работать =(


.htacces файл выглядит так
Код:
RewriteEngine On
RewriteBase /
RewriteRule ^listing_details/(.+)/$ /$1/ [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* ./index.php
RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ listing_details/$2 [L]
RewriteCond %{HTTP_HOST} ^www.arendakv.in.ua$
RewriteRule ^.*$ "http\:\/\/arendakv\.in\.ua\/redirect\.php" [R=301,L]
 
Если честно, я так и не понял суть записей вроде

RewriteRule .* ./index.php
RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ listing_details/$2 [L]
RewriteRule ^.*$ "http\:\/\/arendakv\.in\.ua\/redirect\.php" [R=301,L]
 
Если честно, я так и не понял суть записей вроде
2-ю строчку я удалил, а 3-я делает редирект с Для просмотра ссылки Войди или Зарегистрируйся на redirect.php, который ее потом шлет на Для просмотра ссылки Войди или Зарегистрируйся

Сейчас файл имеет такую структуру

Код:
RewriteEngine On
RewriteBase /
RewriteRule ^listing_details/(.+)/$ /$1/ [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* ./index.php
RewriteCond %{HTTP_HOST} ^www.arendakv.in.ua$
RewriteRule ^.*$ "http\:\/\/arendakv\.in\.ua\/redirect\.php" [R=301,L]
 
Не хотел тему создавать и решил спросить здесь!
Нужна такая штука!
Нужно перенаправить папку sait.ru/papka
на papka.sait.ru
При чем что б все ссылки с sait.ru/papka Перенпарвлялись на papka.sait.ru
например набираем в адресе sait.ru/papka/index.php?mode=user&login=login$pass=pass а нас перекидывает на papka.sait.ru/index.php?mode=user&login=login$pass=pass

Заренее благодарен всем за помощь:)
 
bugerok
если перебросить, примерно то так

RewriteCond ^listing_details
RewriteRule ^listing_details/(.*) /$1 [R=301,L]


Gansik
полагаю что аналогично

RewriteRule ^(\s+)/(.*) $1.%{HTTP_HOST}/$2 [R=301,L]
 
bugerok
если перебросить, примерно то так
RewriteCond ^listing_details
RewriteRule ^listing_details/(.*) /$1 [R=301,L]
Gansik
полагаю что аналогично
RewriteRule ^(\s+)/(.*) $1.%{HTTP_HOST}/$2 [R=301,L]

Если добавить эти 2 строчки, то сайт уходит в ошибку 500(Internal Server Error)
Код:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@arendakv.in.ua and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

А если оставить только
RewriteRule ^listing_details/(.*) /$1 [R=301,L]
то результата 0 =(
 
давай по пунктам

1.
RewriteEngine On
инициировали mod_rewrite

2.
RewriteBase /
указали корень

3.
RewriteRule ^listing_details/(.+)/$ /$1/ [L]
если первый параметр (каталог пути) uri имеет значение listing_details то отдаем в index второй элемент пути

4.
RewriteCond %{REQUEST_FILENAME} !-d
если реально есть такая директория в фс - открываем

5.
RewriteCond %{REQUEST_FILENAME} !-f
если реально есть такой файл в фс - открываем

6.
RewriteRule .* ./index.php
все остальное отдем в index.php

7.
RewriteCond %{HTTP_HOST} ^www.arendakv.in.ua$
RewriteRule ^.*$ "http\:\/\/arendakv\.in\.ua\/redirect\.php" [R=301,L]
а это уже бред какой-то - если обращение к адресу "www.arendakv.in.ua" (читай - корню, читай - index.x), редиректим на redirect.php с http ошибкой 301..

допустим дошли до последней инструкции.. а мы вообще никогда до нее не дойдем, т.к. раньше сработает 6-ая - она вообще все ловит (кстати убери "./" перед "index.php" - корень в 2 указан)..

теперь.. нужно вход с listing_details перекинуть в корень.. тут вопрос: отдать скрипту второй параметр или перенаправить?..

если первое, то у тебя все сделано в 3..

если второе, замени в конце инструкции 2 [L] на [R=301,L].. только смысла в этом редиректе не вижу, если ты ссылки как isting_details/123/ ставишь.. точнее как то это криво..

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

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