2013-07-29 2 views
0

У меня есть несколько доменных имен, которые указывают на один и тот же IP-адрес. В настоящее время я перенаправляю их из файла /default.asp в соответствующую папку на основе SERVER_NAME. Например:.htaccess перенаправить домен в папку

http://domain1.com redirects to http://domain1.com/folder1 
http://domain2.com redirects to http://domain1.com/folder2 

Это работает, но URLs отображать имя папки в браузере:

http://domain1.com/folder1/somepage.htm 

И пользователь не может перейти на страницу, не вводя имя папки:

http://domain1.com/somepage.htm // This fails because it isn't in the root folder. 

Могу ли я использовать файл .htaccess для (1) запроса страницы маршрута в соответствующую папку и (2) предотвратить появление имени папки в браузере?

Это также переместит перенаправление из файла /default.asp в файл .htaccess, где он, вероятно, принадлежит.

Спасибо!

+1

Похоже, что ваши директивы VirtualHost в файле 'httpd.conf' перепутаны. У вас есть к ним доступ? –

+0

Причина, по которой я спрашиваю, заключается в том, что Корень документа для 'domain1' находится в неправильном месте. Вы можете попробовать переписать его с помощью .htaccess', но это не сработает. –

+0

А? «Корень документа» находится в неправильном месте? Я не думаю, что что-то испортилось, мой домен работает нормально (на данный момент у меня даже нет файла .htaccess). Я спрашиваю, если и как я могу перенаправить доменное имя, поэтому (1) запросы переходят в определенную папку и (2), если я могу предотвратить появление имени папки в URL-адресах браузеров. Благодарю. –

ответ

-1
RewriteEngine on 

RewriteMap lowercase int:tolower 

RewriteCond %{lowercase:%{HTTP_HOST}} ^www\.([^.]+)\.example\.com$ 
RewriteRule ^(.*) /home/%1/www$1 
+0

Этот ответ предполагает пути к каталогам, системам и соглашениям об именах, которые OP не включил в свой первоначальный вопрос. Кроме того, что-то вроде этого \ * should \ * не работает, если на сервере установлены соответствующие разрешения (в отношении вашего последнего правила). –

+0

Это был пример идеи. Ответ «copy paste» не учит чему-либо. Не знаю, что вы говорите о разрешениях. Это демонстрация того, как это работает. Конечно, у вас должны быть разрешения на доступ к папке, к которой вы перенаправляете. Давать -1 для этого просто ***. –

+0

На этом сайте мы стремимся дать реальные ответы, которые могут быть показаны в коде. Некоторые из плакатов, возможно, не используют вкус Linux, к которому вы привыкли (это похоже на что-то от Redhat или CentOS). Некоторые люди могут использовать что-то вроде FreeBSD или Windows. Путь, на который вы ссылаетесь, выглядит как DocumentRoot, который будет найден в объявлении VirtualHost в Apache Config. –

Смежные вопросы