2013-12-18 4 views
0

Я хочу, чтобы мой домен без www всегда отображался, т. Е. URL-адрес действителен: http://miweb.net И кроме этого домена указывать на подкаталог, а не на корневой каталог.От домена www до no-www в подпапку

Как я могу указать в htacess оба условия?

+1

Подробнее необходимо, пожалуйста. В какой подкаталог вы хотите указать? Все ли запросы идут туда? Изменена ли адресная строка пользователя, чтобы отразить ее, или она перезаписана? –

+0

Ваш вопрос непонятен, что вы пытаетесь сделать здесь? – anubhava

ответ

0

Возможно, вы захотите взглянуть на VirtualHost.

Предполагая, что вы используете Apache, это позволит вам перенаправить URL-адреса с www или другими поддоменами в разные папки на сервере.

+0

У меня есть мой сайт на Justhost (хостинг), не поддерживайте виртуальный хост и имеете домен в godaddy. я в настоящее время используют следующие HTAccess: 'RewriteEngine на AddHandler применение/х-HTTPD-php54 .php RewriteCond% {HTTP_HOST}^WWW \ .myweb \ .net $ RewriteRule ^/$«HTTP \: \/\/myweb \ .net \/"[R = 301, L]' Это прекрасно. Если вы согласны с переадресацией myweb.net www.myweb.net. Но я также хочу еще одно условие. По умолчанию мой домен указывает на каталог сервера/www, и я хочу указать на/www/myweb-folder/ Как я могу объявить это в htaccess, сохраняя предыдущее свойство? – ephramd

+0

Из того, что я знаю, это невозможно с '.htaccess', потому что все это касается URL-адресов, а не путей сервера. Можете ли вы использовать PHP для перенаправления пользователей на основе чего-то вроде '' http: // $ _ SERVER [HTTP_HOST] $ _SERVER [REQUEST_URI] ";'? – Farce

0

Я думаю, что нашел решение. Видимо это работает:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?myweb.net$ 
RewriteCond %{REQUEST_URI} !^/myweb/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /myweb/$1 
RewriteCond %{HTTP_HOST} ^www\.myweb\.net$ 
RewriteRule ^/?$ "http\:\/\/myweb\.net\/" [R=301,L] 
RewriteRule ^(/)?$ myweb/index.html [L] 
  1. Если доступ из браузера http://www.myweb.net, мы автоматически перенаправлены на http://myweb.net (без WWW).

  2. И этот домен больше не указывает на корневую директорию хостинга «/ www /», если нет »/ www/myweb /».

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