За последние 24 часа нас посетили 22804 программиста и 1210 роботов. Сейчас ищут 712 программистов ...

Как сделать, что бы любой запуск страницы проходил через index.php

Тема в разделе "PHP для новичков", создана пользователем Tiki, 18 янв 2018.

Метки:
  1. Tiki

    Tiki Новичок

    С нами с:
    18 янв 2018
    Сообщения:
    17
    Симпатии:
    0
    Как сделать проверку любой страницы, через index.php? Что нужно прописать в htaccess?
     
  2. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Код (Text):
    1. <IfModule mod_rewrite.c>
    2.     RewriteEngine On
    3.     RewriteBase /
    4.  
    5.     RewriteCond %{REQUEST_FILENAME} !-f
    6.     RewriteCond %{REQUEST_FILENAME} !-d
    7.     RewriteRule ^(.*)$ index.php?/$1 [L]
    8. </IfModule>
    вот те простенький пример
     
  3. Tiki

    Tiki Новичок

    С нами с:
    18 янв 2018
    Сообщения:
    17
    Симпатии:
    0
    Не получается! Я ввел функцию на index.php, сделал запрос на другой странице. Она не выполнилась
     
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    По подробнее пожалуйста. Что ты ожидал увидеть, что фактически увидел?
     
  5. Tiki

    Tiki Новичок

    С нами с:
    18 янв 2018
    Сообщения:
    17
    Симпатии:
    0
    Мне нужно что бы на сайте все страницы при запуске обрабатывались через файл index.php. Например: проверка авторизации.Если человек авторизован, ему откроется страница, иначе перебросит на главную. А так же на index будут храниться основные скрипты - проверка капчи и прочее. Что бы не писать это на каждой странице, я хотел всегда обрабатывать через index. Есть ещё какой то вариант проделать подобное? Просто я только видел, что это можно сделать через htaccess
    --- Добавлено ---
    В данном случае я увидел, что скрипт, который храниться на index не сработал
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    в любом скрипте

    PHP:
    1. <?php
    2. include('index.php');
    3. // дальше можешь использовать функции из index.php
    только, дружище, выбери другое имя для этого мега-файла. у "index" есть особый смысл. как правило, если имя файла не указано в адресной строке, то веб сервер ищет index.php или index.html чтобы отобразить как-бы "директорию".
    --- Добавлено ---
    то, что показал тебе @askanim это централизованная обработка всех запросов на несуществующие файлы. соответствует тому, что ты написал изначально.
     
  7. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Как-то это заход сзади :)
    Чтобы все страницы обрабатывались файлом index.php, в этом файле одна строка с инклудом роутера который распределяет все вызовы.
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    @Tiki ты обращал внимание, как работает большинство CMS? Там в адресе не бывает имени php-файла. Все запросы идут на index.php и он подключает в себя другие скрипты.
     
    Fell-x27 нравится это.
  9. Tiki

    Tiki Новичок

    С нами с:
    18 янв 2018
    Сообщения:
    17
    Симпатии:
    0
    А как это сделано? Что там прописано?
     
  10. Tiki

    Tiki Новичок

    С нами с:
    18 янв 2018
    Сообщения:
    17
    Симпатии:
    0
    Я в htaccess прописал вот это
    RewriteEngine on
    RewriteRule .* index.php [L]

    Выводит непонятные символы на каждой странице.
    Страница 404
     
  11. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    У тебя все страницы в своих php файлах? Помимо рерайта, нужно, что index.php был готов обработать и разрулить запрос на нужный файл. И напрямую к php-файлам в таком варианте не обращаются. @askanim дал правильный код, он направляет на index.php только обращения к несуществующим файлам, поэтому работают, к примеру, стили и js-файлы