Предотвращение косой черты в доменном имени - PullRequest
4 голосов
/ 09 сентября 2011

Я хочу, чтобы мой сайт отображался как www.mysite.com , а не www.mysite.com /

Добавляет ли Apache завершающий слеш после имени домена по умолчанию или браузер добавляет его? Если я хочу предотвратить это с помощью .htaccess, каким будет правило перезаписи URL-адреса?

Ответы [ 4 ]

2 голосов
/ 03 января 2013

Если вы запрашиваете:

http://myhost.com

Запрос должен выглядеть так в HTTP:

GET / HTTP / 1.0
Ведущий: myhost.com

По историческим причинам некоторые браузеры добавляли косую черту, потому что в противном случае она переводится как

GET HTTP / 1.0
Ведущий: myhost.com

Что было бы незаконным запросом.

Обратите внимание:

http://myhost.com/page

является законным, потому что это означает:

GET / page HTTP / 1.0
Ведущий: myhost.com

2 голосов
/ 23 сентября 2011

Как объясняется в первой ссылке Энтони, косая черта является частью адреса. Каждый домен (и не только «подавляющее большинство») имеет имя, напоминающее www.mysite.com, но это просто имя домена, а не URL. URL - это адрес файла, то есть протокол + имя домена + путь к файлу, поэтому http://www.mysite.com/ добавляет отсутствующее имя файла в DirectoryIndex и, следовательно, является URL, но http://www.mysite.com просто ничего не значит, так как в этом случае путь к файлу будет пустым. Тот факт, что ваш браузер не отображает скучные части вашего URL, не связан с конфигурацией вашего сайта.

Если на разных сайтах один и тот же браузер ведет себя по-разному, мне было бы интересно узнать, каким браузером и какими веб-сайтами вы пользовались.

2 голосов
/ 09 сентября 2011

http://www.searchenginejournal.com/linking-issues-why-a-trailing-slash-in-the-url-does-matter/13021/

http://www.alistapart.com/articles/slashforward/

URL-адреса изначально использовались для моделирования каталогов, поэтому необходимо использовать косую черту. Я думаю, что если у вас нет косой черты, некоторые веб-серверы не смогут правильно найти контент.

1 голос
/ 11 сентября 2011

Браузер добавляет такой слеш автоматически при запросе URL. Как это отображается в адресной строке, это другая история.

Например: www.adobe.com - введите его в разных браузерах и посмотрите, как они будут отображаться:

...