Как я могу программно перенаправлять на новые страницы, когда пользователи меняют контент и изменяется URL-адрес?


У меня есть веб-сайт на PHP, на котором есть контент, размещенный администратором, и контент, размещенный пользователями loggedin. Я использую блокировку контента в URL-адресах. Если пользователь изменяет свой пост, соответствующий слиток может измениться и, следовательно, URL-адрес. Всякий раз, когда запрашивается старая страница, мне нужно перенаправить ее на новую.

Это метод, который я собираюсь реализовать: создайте таблицу mysql, содержащую старые URL-адреса и соответствующие новые URL-адреса, а затем всякий раз, когда вошедший в систему пользователь изменяет их сообщение, я буду программно обновлять эту таблицу. При запросе несуществующей страницы я бы сначала проверил эту таблицу, чтобы узнать, существует ли там эта ссылка, чтобы перенаправить 301 на новый URL. В противном случае я верну 404.

Будет ли это хорошим подходом?

Author: Stephen Ostermiller, 2017-08-09

1 answers

Да, вы могли бы сделать что-то подобное. И вам нужно было бы сделать что-то подобное, если "слизняк" - это единственный бит информации, который однозначно идентифицирует страницу. Однако действительно ли "слизняк" - это уникальная вещь, которая идентифицирует страницу? (Что делать, если пуля соответствует старой странице или существующей странице?)

Если у вас есть короткий идентификатор, который однозначно идентифицирует страницу (который никогда не меняется), и вы включаете его в URL-адрес (например, что делает stackexchange.com, например, 108487 - идентификатор этой страницы с вопросом) затем вам нужно только проверить, что слизняк не является текущим слизняком, прежде чем отправлять перенаправление на каноническую страницу. Очевидно, что здесь не используется 404s, уникальный идентификатор должен присутствовать в URL-адресе, чтобы он вообще разрешался. Поэтому было бы предпочтительнее включить этот уникальный идентификатор в начало URL-адреса. Если пуля отключается (когда ссылка становится общедоступной и т. Д.), То это не имеет значения, если короткий идентификатор все еще не поврежден.

Просто для удовольствия я замечаю, что Квадратное пространство, что не использует уникальный идентификатор в URL-адресах пользователей, а также не выполняет автоматическое перенаправление со старых на новые URL-адреса страниц. Из документа справки по изменению слизней URL-адресов:

Трафик не будет автоматически перенаправляться на новый URL-адрес, если вы его измените. При переходе по старому URL-адресу отобразится ошибка 404 Страница Не найдена. Чтобы предотвратить это, создайте перенаправление 301 после изменения URL-адреса.

 4
Author: DocRoot, 2017-08-09 09:48:24