2

Итак, у меня есть доменное имя DNS для моего компьютера, чтобы я мог легко подключиться к нему, не помня каждый раз мой IP-адрес, и он отлично работает. У меня также есть веб-сайт, размещенный на моем компьютере, для которого у меня есть доменное имя. Доменное имя имеет настройку переадресации URL-адреса Frame(cloaking) которая указывает на папку моего сайта.

У меня есть часть входа на мой сайт, который использует сессии php. Когда я захожу на localhost, чтобы протестировать сессию, она работает нормально. Но когда я использую свое доменное имя, оно не работает вообще. Поэтому я попытался использовать свое DNS-имя и поставить папку после него example.tk/MySite . К моему удивлению это сработало. Но если я не введу /MySite после DNS-имени, он перейдет к индексу MAMP Index of / . Я не хочу этого вообще. Мне было интересно, если можно перенаправить DNS-имя домена в папку. Я посмотрел это, и люди сказали нет, вы должны настроить "Виртуальный хостинг" или что-то еще. Теперь я очень мало знаю обо всем этом в Домене, поэтому любая помощь будет очень признательна.

Заранее спасибо!

Где я разобрался с виртуальным хостингом.

3 ответа3

6

В: Может ли DNS-имя домена указывать на папку на сервере?

A: Нет.

0

DNS не может пересылать в папку.

Есть несколько вариантов решения этой проблемы.

Во-первых, многие DNS-провайдеры позволяют настроить "перенаправление HTTP" для DNS-имени. Что на самом деле происходит с этой функцией, так это то, что DNS указывает на веб-сервер провайдера, где у них есть простая конфигурация веб-сервера, настроенная для предоставления части перенаправления HTTP.

Вы можете использовать этот подход самостоятельно: направьте DNS на сервер, на котором вы запускаете веб-сервер, настроенный для ответа на одно и то же доменное имя, путем отображения или перенаправления в папку. Детали значительно различаются в зависимости от вашей ситуации.

0

Поведение, которое вы наблюдаете, точно соответствует ожидаемому. Обратите внимание, что URL-адрес, такой как http://example.tk:80/MySite означает, что клиент должен связаться с хостом example.tk (и только для того, чтобы узнать, почему этот хост ссылается на то, для чего используется DNS в этом контексте), затем инициируйте TCP-соединение с серверным процессом, прослушивающим порт 80 этого хоста, затем используйте протокол http для запроса URI /MySite из example.tk . Типичный веб-сервер будет интерпретировать такой путь-подобный URI как путь относительно его корня документа и, например, вернуть содержимое файла с таким именем (или выполнить сценарий php или отобразить содержимое каталога [фактически после перенаправления). ] или что вы настраиваете).

Поэтому, так как вы почти удовлетворены результатом - только на уровне каталога - я предлагаю вам перенастроить веб-сервер для обслуживания из другого корня документа. С другой стороны, ваш отчет о том, что http://localhost делает правильные вещи, предполагает, что у вас уже установлен виртуальный хостинг uop, то есть vhost localhost настроен на использование этой папки MySite в качестве корня документа. Должна быть возможность изменить конфигурацию вашего хоста example.tk для обслуживания из того же корня документа. Возможно, начните читать специфичные для vhost файлы конфигурации вашего веб-сервера (возможно, они находятся в /etc/apache2/sites-enabled или аналогичных). Конечно, обратите внимание на параметры DocumentRoot .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .