За последние 24 часа нас посетили 109706 программистов и 7711 роботов. Сейчас ищет 1871 программист ...

"Красивая" передача GET параметра

Тема в разделе "PHP для новичков", создана пользователем Assassin-3009, 26 мар 2017.

  1. Assassin-3009

    Assassin-3009 Активный пользователь

    С нами с:
    24 май 2016
    Сообщения:
    55
    Симпатии:
    0
    Нужно осуществить передачу номер счёта.

    ПРИМЕР:
    страница - сайт.ру/shops/
    ссылка "Оплатить" - сайт.ру/shops/order/3009/
    1.png

    страница - сайт.ру/shops/order/3009/
    2.png

    Видел такое на одном сайте, и встал вопрос: это так GET передаётся или для каждого счёта создаётся отдельная страница...
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Видишь цифры 3009 это видимо ID из азы с данными, получается динамическая страница
     
    acho нравится это.
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Для этого используется mode_rewrite в Apache, try_files в ngnix
     
    Assassin-3009 и acho нравится это.
  4. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    849
    Симпатии:
    199
    Адрес:
    Санкт-Петербург
    или, если используется единая точка входа и роутер, можно сделать такое роутером
     
  5. Assassin-3009

    Assassin-3009 Активный пользователь

    С нами с:
    24 май 2016
    Сообщения:
    55
    Симпатии:
    0
    Ссылка "Оплатить" в итоге на стороне сервера так сайт.ру/shops/order/3009/ или так сайт.ру/shops/order/index.php?id=3009 прописывается?

    В моём случае так в .htaccess должно быть?
    Код (Text):
    1. RewriteEngine on
    2. RewriteRule ^shops/order/([^/]+)/?$ index.php?id=$1 [L]
     
  6. Assassin-3009

    Assassin-3009 Активный пользователь

    С нами с:
    24 май 2016
    Сообщения:
    55
    Симпатии:
    0
    Нашёл решение на ютубе. Эта тема "ЧПУ" (Человеко-Понятный URL) называется.


    Ссылка "Оплатить" сразу так полностью и пишется - https://www.сайт.ру/shops/order/3009/

    .htaccess
    Код (Text):
    1. RewriteEngine on
    2. Options +FollowSymlinks
    3. RewriteCond %{REQUEST_FILENAME} !-d
    4. RewriteCond %{REQUEST_FILENAME} !-f
    5.  
    6. RewriteRule ^order/([0-9a-z\-\_]+)/?$ shops/order/index.php?id=$1 [L]
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Я за единую точку входа. Элементарный htaccess перенаправляет всё на index.php, а он уже решает, как быть дальше
     
    denis01 нравится это.