За последние 24 часа нас посетили 22462 программиста и 1011 роботов. Сейчас ищет 641 программист ...

Как сделать сайт без mod rewrite?

Тема в разделе "Настройка веб-сервера", создана пользователем wade003, 13 мар 2019.

  1. wade003

    wade003 Новичок

    С нами с:
    13 мар 2019
    Сообщения:
    30
    Симпатии:
    1
    В тестовом задании указали создать форум не используя mod rewrite( Nepoužívejte mod rewrite, abychom si nemuseli konfigurovat u nás.), но сайт без этих параметров работать не будет:
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php

    Что делать, подскажите пожалуйсто?!
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    почему это не будет?
    как сделаешь так и будет ... ссылки только все будут не ЧПУ ....
    то есть не вида /forum/avto/4/5, а что-нибудь index.php?theme=avto&cat=4&sub=5
    ....
    хотя бы я с таким заданием настороженно отнесся, ибо наоборот все делают
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    ErrorDocument 404
    FallbackResource
    Но у обоих способов есть свои недостатки, поэтому обычно используют mod_rewrite, если говорить об апаче.
    --- Добавлено ---
    @ADSoft, можно еще использовать PATH_INFO. Первый компонент пути должен быть именем фронта, а дальше уже все, как обычно.
    --- Добавлено ---
    Может, речь просто об использовании множественных точек входа, что для форумов часто практикуется. «В тестовом задании указали создать форум» – и как долго вы планируете выполнять этот тест? :) Даже если сделаете быстро и хорошо, вас попрут с вероятностью 99,9%, воспользовавшись результатами вашей работы.
     
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    На самом деле большинство форумных движков такие — без ЧПУ. И пхп.ру только в 2016 переключился на движок со слагами в URL. Вот гляньте в историю:
    php.ru/forum/viewtopic.php?f=13&t=4537&start=210

    Наверное так сформулировали для того, чтобы проверить как претендент справится без готовых фреймворков с маршрутами. Для теста это нормально.
     
  5. wade003

    wade003 Новичок

    С нами с:
    13 мар 2019
    Сообщения:
    30
    Симпатии:
    1
    Спс за подсказку. Учился делать с ЧПУ, поэтому и не понял про мод. Буду сейчас разбираться как сделать без ЧПУ, если кинете
    какие-либо ссылки было бы чудесно!
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Много точек входа, GET-параметры – слыхал?

    P.S. Также упомянутая мной PATH_INFO. Список ссылок поможет сформировать поисковик ;)
     
  7. wade003

    wade003 Новичок

    С нами с:
    13 мар 2019
    Сообщения:
    30
    Симпатии:
    1
    Посмотрите на правильном ли я пути:
    $action= isset($_GET['action']) ? $_GET['action'] : 'community';
    switch($action){
    case 'community':
    require ('views/community.php');
    break;
    case 'view-topic':
    require ('views/topic.php');
    break;
    case 'login':
    require ('views/login.php');
    break;
    case 'register':
    require ('views/register.php');
    break;
    }
    это вместо массива с роутами как с ЧПУ?


    <a href="?action=view-topic&id=<?= $row['id'] ?>">Тема</a>
    --- Добавлено ---
    Вернее в каждом кейсе свой контроллер?
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Есть 1000 способов и все они верные (с)
     
  9. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    @wade003 это возможный вариант.
    имея в уме MVC, я бы таки сделал отдельные файлы, т.е. точки входа - контроллеры. а не один файл с параметром "имя контроллера".
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Это тот же единый фронт, только хуже. Раз уж пошел в эту сторону, просто прогони через массив с именами для валидации, чем городить это убожество.

    P.S. Имена для поиска можно сделать ключами ассоциативного массива, а не значениями. Так поиск будет выполняться немного быстрее.
    --- Добавлено ---
    P.P.S. Можно не делать расхождений в именах вроде view-topic и topic, чтобы использовать один набор имен, а не два взаимосвязанных.