|
|
|
| Есть сайт www.site.ru
в корне директория subdir, в ней например страница page1.php
Как оргнанизовать при помощи .htaccess и php такую штуку:
Чтобы при обращении к реальной странице www.site1.ru/subdir/page1.php в строке браузера было www.site1.ru/page1.php
и при ссылке с этой страницы на другую, находящуюся в стойже директории виден был урл www.site1.ru/page2.php
То есть, реально ли убрать весь сайт в поддиректорию, но чтобы она нигде для посетителя не фигурировала?
Помогите, плиз! | |
|
|
|
|
|
|
|
для: sergmust
(03.03.2008 в 21:57)
| | man mod_rewrite | |
|
|
|
|
|
|
|
для: Agronom
(04.03.2008 в 20:33)
| | Спасибо за дельный совет. Но у меня не получается. Видно мало каши ел. | |
|
|
|
|
|
|
|
для: Sergmust
(04.03.2008 в 21:16)
| | на сервере, который вы используете стоит этот мод? | |
|
|
|
|
|
|
|
для: Agronom
(04.03.2008 в 22:54)
| | Да, стоит.
Пытаюсь сделать что-то вроде
RewriteRule ^http://www.site.ru/$ http://www.site.ru/dir/$1
Получается ерунда всякая. Нужно, чтобы если после названия сайта в строке не присутствует поддиректория dir оно загружало страницу вставив ее в адресную строку после названия сайта, а в браузере так и было видно что в адресе ее нет. Моей квалификации маловато... | |
|
|
|
|
|
|
|
для: Sergmust
(05.03.2008 в 18:46)
| | RewriteEngine On
RewriteRule ^http://www.site.ru/(.*?).php$ http://www.site.ru/dir/$1.php | |
|
|
|
|
|
|
|
для: Agronom
(05.03.2008 в 18:57)
| | Это понятно, но как написать чтобы направляло только адреса в которых не присутствует site.ru/dir/ ? | |
|
|
|
|
|
|
|
для: Sergmust
(05.03.2008 в 19:16)
| | RewriteRule ^http://www.site.ru/(.^dir?).php$ http://www.site.ru/dir/$1.php | |
|
|
|
|
|
|
|
для: Agronom
(05.03.2008 в 19:33)
| | Не работает | |
|
|
|
|
|
|
|
для: Sergmust
(05.03.2008 в 20:54)
| | да, я чушь написал... интересный у вас вариант, вот что-то никак не придуаю как исключить целое слово, при этом не исключая любые его буквы и исключая только в определенном положении.
Думаю тут нужно идти другим путем.
RewriteRule ^site/dir/(.+)? site/dir/$1 [L]
RewriteRule ^site/(.+)? site/dir/$1 | |
|
|
|
|
|
|
|
для: Agronom
(05.03.2008 в 23:00)
| | Интересны, а то!
Вот и маюсь ;-)
Но это тоже не подходит.
Нужно чтобы перенаправление делалось только в случае, если в определенном месте строки НЕ стоит определенная подстрока (в данном случае директория)
Вот замутил... | |
|
|
|
|
|
|
|
для: Sergmust
(06.03.2008 в 14:58)
| | ну а чем вам не подходит? в данном случает ищется строка с присутствием директории dir, и перенаправляет на тотже адрес - посути ничего не меняется. Знак [L] говорит о том чтобы прекратить выполнение дальнейших преобразований при успешном преобразовании предстоящего.
ну если у нас оно не выполнилось, т.е. в строке нет dir, то перенаправляем на строку с dir
так будет точнее, в прошлом я немного напортичил
RewriteRule ^site/dir/(.+)$ site/dir/$1 [L]
RewriteRule ^site/(.+)$ site/dir/$1
|
| |
|
|
|
|
|
|
|
для: Agronom
(06.03.2008 в 16:10)
| | ВАУ!
Вот чего мне не хватало - [L] !!!!
Спасибо тебе большое за помощь! | |
|
|
|