Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 07.09.2010, 21:25   #1
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию .htaccess

Есть такая задача.
Домен "привязан" к папке DOCUMENT_ROOT.
Надо средствами .htaccess "перепривязать" его к другой папке в пределах DOCUMENT_ROOT (например DOCUMENT_ROOT/abc)
Как это сделать?

Код
Код:
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.ru$ [NC]
RewriteRule .+ abc/index.html [L]
отрабатывает

Не могу понять, как другие файлы перенаправить

А что-то типа этого

Код:
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.ru$ [NC]
RewriteCond  %{REQUEST_URI} ^(.+)$
RewriteRule (.+) abc%1 [L,QSA]
дает 500-ю ошибку.

Что делаю неправильно?
ahsinis вне форума   Ответить с цитированием
Старый 08.09.2010, 00:08   #2
Починяю примуса
 
Аватар для Atomic
 
Регистрация: 26.09.2008
Сообщений: 1,505
Вес репутации: 285
Atomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущееAtomic - прекрасное будущее
По умолчанию

Цитата:
.htaccess "перепривязать" его к другой папке в пределах DOCUMENT_ROOT (например DOCUMENT_ROOT/abc)
редирект?
непонятно
Цитата:
RewriteCond %{REQUEST_URI} ^(.+)$
RewriteCond %{REQUEST_URI} !^/abc/ [NC]
RewriteRule . abc%1 [R=301,L]
__________________
Починяю разнокалиберные примуса здесь.
Atomic вне форума   Ответить с цитированием
Старый 08.09.2010, 06:58   #3
Новичок
 
Регистрация: 23.08.2010
Сообщений: 40
Вес репутации: 0
Den_bad может только надеяться на улучшение
По умолчанию

Добрый день, у меня другая проблема. Не знаю, как преобразовать URL, если методом GET передаются две переменные. Пример(пробовал все версии):

RewriteRule index-page-(.*)&subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2
RewriteRule index-page-(.*)amp;subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2
RewriteRule index-page-(.*)-amp;subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2
RewriteRule index-page-(.*)&subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2
RewriteRule index-page-(.*)-&subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2
RewriteRule index-page-(.*)\&subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2

Ссылка на страницу: /index.php?page=pub&subpage=zakon
Ничего не помогает. Сайт переходит только по /index.php?page=pub
и остается на этой странице.

И еще одно, подскажите пожалуйста, если оформляю вида:
RewriteRule index/page/(.*)/$ /index.php?page=$1
или
RewriteRule index\/page\/(.*)\/$ /index.php?page=$1

Все картинки и стили на сайте отпадают при таком преобразовании.

Последний раз редактировалось Den_bad; 08.09.2010 в 07:07.
Den_bad вне форума   Ответить с цитированием
Старый 08.09.2010, 07:22   #4
Злой модератор
 
Аватар для Wink
 
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,343
Вес репутации: 502
Wink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущее
По умолчанию

ahsinis, может вот так сработает

Код:
RewriteCond %{HTTP_HOST} ^domain.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/abc
RewriteRule ^(.*)$ /abc/%{REQUEST_URI} [L]

Den_bad, откуда амперсанд взялся посреди статического адреса?
Цитата:
Сообщение от Den_bad Посмотреть сообщение
RewriteRule index-page-(.*)&subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2
Wink вне форума   Ответить с цитированием
Старый 08.09.2010, 08:00   #5
Новичок
 
Регистрация: 23.08.2010
Сообщений: 40
Вес репутации: 0
Den_bad может только надеяться на улучшение
По умолчанию

2 Wink:
Если писать так:
RewriteRule index-page-(.*)-subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2

Возвращает 404 ошибку. То есть амперсанта быть не должно?
Den_bad вне форума   Ответить с цитированием
Старый 08.09.2010, 09:21   #6
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

Den_bad, амперсанд может быть в URL. Просто обычно его используют для разделения пар GET параметров.
А на сайте-то у вас какие ссылки, с амперсандом или нет?

Я попробовал
Код:
RewriteRule index-page-(.*)-subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2 [L]
Нормально обрабатывает. Наверно у вас в движке самом особенности. Может там обработка идет на основе REQUEST_URI, а не на GET параметрах.

Добавлено через 1 минуту
Цитата:
Сообщение от Atomic Посмотреть сообщение
редирект?
непонятно
Код:
RewriteCond %{REQUEST_URI} ^(.+)$
RewriteCond %{REQUEST_URI} !^/abc/ [NC] 
RewriteRule . abc%1 [R=301,L]
Так дает редирект, так вроде отработало
Код:
RewriteCond %{REQUEST_URI} ^(.+)$
RewriteCond %{REQUEST_URI} !^/abc/ [NC] 
RewriteRule . abc%1 [L]

Последний раз редактировалось ahsinis; 08.09.2010 в 09:22. Причина: Добавлено сообщение
ahsinis вне форума   Ответить с цитированием
Старый 08.09.2010, 09:49   #7
Новичок
 
Регистрация: 23.08.2010
Сообщений: 40
Вес репутации: 0
Den_bad может только надеяться на улучшение
По умолчанию

Цитата:
Сообщение от ahsinis Посмотреть сообщение
амперсанд может быть в URL. Просто обычно его используют для разделения пар GET параметров.
А на сайте-то у вас какие ссылки, с амперсандом или нет?
Угу, про то, что им разделяются пары GET-переменных, про это в курсе. На сайте ссылка выглядит следующим образом: index-page-pub&subpage-zakon.htm
А Вы на сайте каким образом саму ссылку указывали? Может у меня тут ошибка?
Потому что я так тоже пробовал: RewriteRule index-page-(.*)-subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2 [L]
Возвращает 404 ошибку, если без амперсанта.
RewriteRule index-page-(.*)-amp;subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2 [L] - так остается на странице index.php?page=pub

Цитата:
Сообщение от ahsinis Посмотреть сообщение
Наверно у вас в движке самом особенности. Может там обработка идет на основе REQUEST_URI, а не на GET параметрах.
Вот это не знаю, если честно. Можете подсказать, что в этом случае делать?
Den_bad вне форума   Ответить с цитированием
Старый 08.09.2010, 10:00   #8
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Den_bad Посмотреть сообщение
А Вы на сайте каким образом саму ссылку указывали? Может у меня тут ошибка?
Указал согласно правилу
Код:
RewriteRule index-page-(.*)-subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2 [L]
index-page-pub-subpage-zakon.htm

кстати index-page-pub&subpage-zakon.htm и правило
Код:
RewriteRule index-page-(.*)&subpage-(.*)\.htm$ /index.php?page=$1&subpage=$2 [L]
тоже отработало
ahsinis вне форума   Ответить с цитированием
Старый 08.09.2010, 11:35   #9
Новичок
 
Регистрация: 23.08.2010
Сообщений: 40
Вес репутации: 0
Den_bad может только надеяться на улучшение
По умолчанию

Насколько я знаю, можно преобразовывать в виде статичных htm-файлов, а можно в виде директорий. Кто-нибудь может подсказать, почему может быть следующее: при прописывании преобразования в виде директорий ссылка работает
(например: RewriteRule index/page/(.*)/$ /index.php?page=$1 [L] или так: RewriteRule index\/page\/(.*)\/$ /index.php?page=$1 [L]) Но, при вызове страницы, к примеру, по ссылке: index/page/about/ Пропадает связь со всеми картинками и со стилями (стили в том же каталоге).
Den_bad вне форума   Ответить с цитированием
Старый 08.09.2010, 12:46   #10
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

у вас как <IMG> в html коде прописаны?
ahsinis вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЧПУ в .htaccess n5ru Разработка и сопровождение сайтов 10 24.10.2009 10:43
WP и .htaccess Challenger Разработка и сопровождение сайтов 2 23.03.2009 19:25
.htaccess Katalina Вопросы от новичков 12 21.01.2009 13:43
SAPE и .htaccess Вован Установка кода на различные движки 1 22.01.2008 17:20
.htaccess maxximys Вопросы по работе системы 2 29.11.2007 09:52


Часовой пояс GMT +3, время: 12:12.