Сохранять перенаправление htaccess на весь сайт

Я сделаю все возможное, чтобы объяснить это. У меня установлен партнерский сайт. Поэтому они могут зарегистрироваться, а затем имя пользователя, которое они предоставляют, записывается в базу данных. Затем они могут получить доступ к своему партнерскому сайту по адресу www.domain.com/affiliate/username.

У меня есть файл.htaccess, перенаправляющий URL-адрес: www.domain.com/affiliate/home.php?affiliate=username на www.domain.com/affiliate/username

Я надеюсь, что в этом есть смысл. Мне нужно, как сохранить постоянную переменную имени пользователя на всем сайте. Поэтому, если они находятся на домашней странице domain.com/affiliate/username и они нажимают на странице "О программе" или что-то еще, я хочу убедиться, что она остается на сайте domain.com/affiliate/username. Таким образом, когда человек собирается что-то купить, я убеждаюсь, что он куплен через партнерский сайт, а не обычный сайт domain.com.

Любая помощь приветствуется. Я новичок в этом, так что медведь со мной, пожалуйста. Благодарю!

1 ответ

3 подхода, быстро суммируются, ни одна из которых не имеет ничего общего с mod_rewrite/.htaccess (что делает этот пример того, что я только что узнал, называется проблемой XY):

  • Установите cookie с филиалом, из которого они пришли. Игнорируйте URL-адрес, как только этот файл cookie будет установлен, и зачислите заказ в соответствующий филиал. (Если вы уже используете сессию PHP, вы можете привязать к ней аффилиат, и это примерно то же самое.)
  • Перепишите все ваши URL-адреса в вашем PHP-коде, чтобы всякий раз, когда вы показываете ссылку или форму, она подталкивает к соответствующему URL-адресу. Намного сложнее писать и проще вводить ошибки.
  • Используйте субдомены, а не подкаталоги - например, affiliate42.example.com - и сделайте все ваши ссылки базовыми. Один камнем преткновения является то, что вам понадобится сертификат SSL подстановки, который охватывает все поддомены, что немного дороже.

Если вы действительно хотели сделать это с помощью правил перезаписи, вы могли бы как-то совместить его с опцией cookie: на основе cookie, перенаправить их по-разному. Но я не уверен, что есть много преимуществ для этого, и формы, которые отправляют по POST, вероятно, все еще нужно будет обрабатывать на уровне PHP, поскольку они сложны для перенаправления последовательно.

licensed under cc by-sa 3.0 with attribution.