LINUX.ORG.RU

.htaccess - как сделать rewrite без изменения url? [решено]

 , ,


0

2

Как сделать так, что бы по адресу omsk.site.ru открывалось содержимое omsk.site.ru/site но показывался первый адрес?

При этом, следует понимать, что последний адрес, это не ссылка на файл, а сокращенный движком путь.

Ни один предложенных в сети способов не сработал и я не понимаю в чем проблема. Буду очень благодарен за помощь.

P. S. Проблема решена при помощи компонента: https://github.com/active-programming/mycityselector


Не проще в виртуальном хосте поменять?

Как вариант:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain-name.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain-name.com$
RewriteCond %{REQUEST_URI} !folder/
RewriteRule (.*) /folder/$1 [L]

chrisred ()
Ответ на: комментарий от chrisred

Не сработало, сервер и вовсе ошибки начал выдавать. А что за виртуальные хосты?

Хотел бы пояснить, зачем это нужно. Возможно вы сможете мне что дельное посоветовать. Собираюсь на основном сайте создать множество под доменов, для каждого из регинов, но т. к. хостинг не резиновый, нужно сделать так, что бы все обслуживал один движок. Поэтому и маюсь с переадресацией - ведь без проблем можно на движке создать страницу под каждый из регионов, но вот с тем, что бы эти страницы грузились только при заходе с под домена у меня возникли проблемы.

nadim ()
Ответ на: комментарий от chrisred

Почитал, увы, это не то.

На примере. Использовать следующий код: RewriteEngine On RewriteCond %{HTTP_HOST} ^gorod.cf$ [NC,OR] RewriteCond %{HTTP_HOST} ^omsk.domain-name.com$ RewriteCond %{REQUEST_URI} !omsk/ RewriteRule (.*) /omsk/$1 [L]

Сайт перестал открываться: 500 Internal Server Error

Код выше убрал. Нужно, что бы при переходе сюда: http://omsk.gorod.cf/

Вытягивалась информация отсюда: http://omsk.gorod.cf/omsk

Пробовал создавать на хостинге под домен отдельно и указать индексной страничной omsk, но так как это не файл, не прокатило(

nadim ()
Ответ на: комментарий от chrisred

Поэкспериментировал, вот такой код работает:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^omsk\.gorod\.cf [NC]
RewriteRule ^(.*)$ http://gorod.cf/omsk [L]

Но, при открытии omsk.gorod.cf адрес в строке меняется на gorod.cf/omsk а надо что бы не менялся. Не знайте что тут можно сделать?

nadim ()
Ответ на: комментарий от menzoberronzan

К сожалению, не доступа к конфигурационным файлам сервера, это обычный CMS хостинг. Сейчас вот думаю, если не получится, неужели все придется делать через php? Или вовсе без движка. Эх(

nadim ()