Как я могу программно перенаправлять на новые страницы, когда пользователи меняют контент и изменяется URL-адрес?
У меня есть веб-сайт на PHP, на котором есть контент, размещенный администратором, и контент, размещенный пользователями loggedin. Я использую блокировку контента в URL-адресах. Если пользователь изменяет свой пост, соответствующий слиток может измениться и, следовательно, URL-адрес. Всякий раз, когда запрашивается старая страница, мне нужно перенаправить ее на новую.
Это метод, который я собираюсь реализовать: создайте таблицу mysql, содержащую старые URL-адреса и соответствующие новые URL-адреса, а затем всякий раз, когда вошедший в систему пользователь изменяет их сообщение, я буду программно обновлять эту таблицу. При запросе несуществующей страницы я бы сначала проверил эту таблицу, чтобы узнать, существует ли там эта ссылка, чтобы перенаправить 301 на новый URL. В противном случае я верну 404.
Будет ли это хорошим подходом?
1 answers
Да, вы могли бы сделать что-то подобное. И вам нужно было бы сделать что-то подобное, если "слизняк" - это единственный бит информации, который однозначно идентифицирует страницу. Однако действительно ли "слизняк" - это уникальная вещь, которая идентифицирует страницу? (Что делать, если пуля соответствует старой странице или существующей странице?)
Если у вас есть короткий идентификатор, который однозначно идентифицирует страницу (который никогда не меняется), и вы включаете его в URL-адрес (например, что делает stackexchange.com
, например, 108487
- идентификатор этой страницы с вопросом) затем вам нужно только проверить, что слизняк не является текущим слизняком, прежде чем отправлять перенаправление на каноническую страницу. Очевидно, что здесь не используется 404s, уникальный идентификатор должен присутствовать в URL-адресе, чтобы он вообще разрешался. Поэтому было бы предпочтительнее включить этот уникальный идентификатор в начало URL-адреса. Если пуля отключается (когда ссылка становится общедоступной и т. Д.), То это не имеет значения, если короткий идентификатор все еще не поврежден.
Просто для удовольствия я замечаю, что Квадратное пространство, что не использует уникальный идентификатор в URL-адресах пользователей, а также не выполняет автоматическое перенаправление со старых на новые URL-адреса страниц. Из документа справки по изменению слизней URL-адресов:
Трафик не будет автоматически перенаправляться на новый URL-адрес, если вы его измените. При переходе по старому URL-адресу отобразится ошибка 404 Страница Не найдена. Чтобы предотвратить это, создайте перенаправление 301 после изменения URL-адреса.