Проблемы с уникальными ссылками в базе данных: www.doamin / или domain / - PullRequest
1 голос
/ 22 мая 2010

На моем сайте каждый может отправлять ссылки на другие интересные сайты. Все ссылки в моей базе данных должны быть уникальными, но некоторые ссылки с "www." префикс, а некоторые без. Некоторые заканчиваются на '/', некоторые нет. Например:

| http://www.example.com

| http://example.com

| http://example.com

| http://example.com/

и другие проблемы могут быть с https или http.

Я знаю, что мне следует изменить адрес перед сохранением в базу данных, но какой стандарт мне следует использовать?

Ответы [ 3 ]

2 голосов
/ 22 мая 2010

Ну, вы не можете обязательно относиться к http://www.example.com и http://example.com как к одному и тому же сайту, потому что они могут обслуживать разный контент (хотя это может нарушить ожидания многих людей)

Аналогично, адреса http:// и https:// не должны указывать на одно и то же содержимое. Если сервер настроен правильно, дубликаты URL-адресов будут иметь каноническое перенаправление, указывающее один на другой. Если сервер не настроен правильно, будет очень трудно определить, является ли дублирование разработанным или случайным.

Наилучшим подходом было бы следовать любому указанному вами URL и посмотреть, будет ли он перенаправлен на другой. Что бы ни случилось, используйте URL, по которому вы попадаете после переадресации.

0 голосов
/ 22 мая 2010

Я думаю, что самый короткий, например domain.com .Но если у вас ftp: //domain.com, вам нужно добавить в свою БД дополнительные столбцы протокола.

0 голосов
/ 22 мая 2010

Я бы использовал http://domain.com.Какой бы стандарт вы ни выбрали, просто придерживайтесь его во всем коде.

...