Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 05.08.2016
Сообщений: 28

Mod_rewrite сайт в папку

05.08.2016, 07:52. Показов 1139. Ответов 4

Студворк — интернет-сервис помощи студентам
Всем доброго времени.

Сломал голову, пожалуйста помогите с задачей... Бьюсь уже около года, все время сдаваясь и не находя все же решение, оставляю вид site.ru/dir

Четкая задача: есть сайт site.ru, но на хосте (хост свой, рулить могу как хочу), так вот, на хосте много папок с сайтами (обычная ситуация)...
Если делать стандартное перенаправление, вид URL в строке адреса получается site.ru/папка, а мне нужно чтобы вид URL остался site.ru/

Получилось сделать только на одном из папок сайта, на субдомене, делаю так:

Code
1
2
3
RewriteCond %{REQUEST_URI} !^/dir1
RewriteCond %{HTTP_HOST} ^sub.site.com$ [NC]
RewriteRule ^(.*)$ /dir1/$1 [L,QSA]
===> Результат правила выше, вот такой: при запросе sub.site.com получаем sub.site.com и все ресурсы сайта из папки dir1

Code
1
2
3
RewriteCond %{REQUEST_URI} !\/site
RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule ^(.*)$ dir2/$2 [L]
===> Результат правила выше, вот такой: при запросе site.ru получаем site.ru, но ТОЛЬКО начальную страницу index.html, прочие ресурсы сайта из папки dir2 НЕ ГРУЗЯТСЯ!
Если делать RewriteRule ^(.*)$ dir2/$1 [L], сайт совсем не грузится, вечная загрузка, видимо зацикливание по /dir2/dir2/dir2/dir2/...


Прошу, пожалуйста помогите, кто точно знает, как сделать тоже самое но не для субдомена, а для сайта? Заранее БОЛЬШОЕ БОЛЬШОЕ СПАСИБО!!!

Добавлено через 50 минут
Спасибо за ответ, я уже все это пересмотрел, перерыл сайтов 500 за все это время,нашел только более менее внятное для субдомена.
Пробовал досконально изучить материал по mod_rewrite, видимо что то до меня пока не доходит ( кто то может помочь примером конкретным.

Добавлено через 41 минуту
Как насчет такого, можно это как то использовать и как апач будет рулить по именам:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
<VirtualHost *:80>
    ServerName first.ru
    ServerAlias [url]www.first.ru[/url]
    DocumentRoot /var/www/vhosts/first.ru/httpdocs
    ErrorLog logs/first.ru-error.log
</VirtualHost>
 
<VirtualHost *:80>
    ServerName second.ru
    ServerAlias [url]www.second.ru[/url]
    DocumentRoot /var/www/vhosts/second.ru/httpdocs
    ErrorLog logs/second.ru-error.log
</VirtualHost>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.08.2016, 07:52
Ответы с готовыми решениями:

Перенаправление на папку сайта силами mod_rewrite
Добрый день, нашел и посмотрел немало примеров mod_rewrite, но проблему так и не решил, так что если кому не трудно, посоветуйте как...

Google не индексирует сайт с ЧПУ на mod_rewrite
Здравствуйте, такая проблема: есть сайт http://www.test.lv/ с ЧПУ вида: http://www.test.lv/russian/interior/ mod_rewrite...

Переместил сайт в папку RU, корректно ли?
Всем привет! Есть сайте ведения дневников раньше он был на самописном движке, сейчас переделал на вордпресс, естественно все ссылки в...

4
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
05.08.2016, 23:12
Да, вам нужно именно последнее. Делать на своем серваке рерайты, о которых вы выше писали, – это полный изврат, если конечно речь не идет о мультисайтовом двиге.

Добавлено через 2 минуты
Первый вирт. хост оставьте под служебные цели или тот же мультисайтовый двиг – этот хост дефолтный.
0
1 / 1 / 1
Регистрация: 05.08.2016
Сообщений: 28
06.08.2016, 07:51  [ТС]
Спасибо большое я попробую сделать так. Только вот корректно ли он будет понимать по DNS именам?
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
06.08.2016, 08:29
Опомнитесь, сейчас весь интернет так работает.

http://httpd.apache.org/docs/2... based.html
0
1 / 1 / 1
Регистрация: 05.08.2016
Сообщений: 28
08.08.2016, 19:27  [ТС]
Собственно результаты, прописал я второй виртуалхост вот так (потому как *:80 это походу и есть дефолт):

<VirtualHost site.ru:80>
ServerName site.ru
ServerAlias www.site.ru
DocumentRoot /var/www/site2
ErrorLog logs/first.ru-error.log
</VirtualHost>

И, как я и считал, URL в строке адреса выглядит точно так же как и при простом mod_rewrite, а именно: site.ru/dir1/, а нужно вот так: site.ru/

Добавлено через 14 часов 28 минут
К сожалению вот такой конфиг не работает:

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

#ServerAdmin it@prodsib.com
#DocumentRoot /var/www/html
DocumentRoot /var/www

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

<VirtualHost sub.site.com>
ServerName sub.site.com
ServerAlias www.sub.site.com
DocumentRoot /var/www/site
ErrorLog ${APACHE_LOG_DIR}/box_error.log
CustomLog ${APACHE_LOG_DIR}/box_access.log combined
</VirtualHost>

Никак! В строке адреса URL браузера: http://sub.site.com выводит index.php корня site.com и все!
Что только не крутил, толку 0 не выводит субдомен!


Добавлено через 11 минут
ОМГ, все много проще вот так заработало,
ну почему же нигде нет нормальной документации В МЕЛОЧАХ?!

<VirtualHost *:80>
ServerName sub.site.com
ServerAlias www[dot]sub[dot]site[dot]com
DocumentRoot /var/www/site
ErrorLog ${APACHE_LOG_DIR}/box_error.log
CustomLog ${APACHE_LOG_DIR}/box_access.log combined
</VirtualHost>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.08.2016, 19:27
Помогаю со студенческими работами здесь

MVC сайт не видит папку Resources
Привет, пытаюсь делать мультиязычный сайт в MVC 5. Добавил папку Resources в проект, в нее положил файлы с локализацией: В...

Прислали сайт файлом и я его распаковала с папку
Доброго времени суток!извиняюсь за глупый вопрос...но мне прислали сайт файлом и я его распаковала с папку..там по порядку файлы папки с...

Как найти папку javax, чтобы вставить туда папку servlet?
Друзья! То есть ситуация такая: package pak.example; import javax.servlet.http.HttpServlet; public class ExampleServlet...

Как скопировать папку с файлами в другую папку с заменой средствами php?
Как скопировать папку с файлами в другую папку с заменой средствами php? Из &quot;Z:/home/post.ru/www/style/&quot; в...

Как установить шрифты в папку Photoshop CS5, не в папку \Windows\Fonts ?
Здравствуйте всем, есть много русских шрифтов и хочу установить их в Photoshop CS5. Некоторые в интернете пишут что можно это сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru