Вывод разных страниц на основе параметров URL
У меня есть папка all , в которой лежит файл info.php . Предполагается, что при вводе в адресную строку после http://127.0.0.1/okt/ слова info должен открыться файл info.php из папки all . Но этого не происходит: постоянно срабатывает условие else и я получаю СТРАНИЦА НЕ НАЙДЕНА . Помогите, уже замучился искать ошибку.
1 ответ 1
Вне зависимости от того, что у вас в .htaccess файле (что само по себе важно). Укажите полный путь до файла или используйте переменную $_SERVER[‘DOCUMENT_ROOT’] , к примеру:
$_SERVER['DOCUMENT_ROOT'].'/okt/all/'.$page.'.php'
При таком варианте все должно работать корректно.
В .htaccess у меня: AddDefaultCharset utf-8 RewriteEngine on RewriteBase /okt/ RewriteRule ^(.*)$ index.php
Пожалуйста скажите куда конкретно я должен вставить $_SERVER[‘DOCUMENT_ROOT’].’/okt/all/’.$page.’.php’ я не особо понял где его использовать
Огромное спасибо! Помогло! А почему именно так решаеться вопрос? Я прохожу уроки по ютюбу у автора работает без $_SERVER[‘DOCUMENT_ROOT’]
Видимо разница все-таки есть, может в настройках сервера или дело в именах папок. Можете попробовать заменить ‘okt/all/’.$page.’.php’; на ‘all/’.$page.’.php’; . Такой вариант тоже должен сработать, но все-таки надежнее указывать полный путь с использованием или без использования $_SERVER[‘DOCUMENT_ROOT’] . По идее если у вас директория на сервере okt/ имеется то, сервер осуществляет сначала переход в нее, а вот потом уже ищет проверяемый файл ‘okt/all/’.$page.’.php’ , т.е. конечный путь будет ‘okt/okt/all/’.$page.’.php’ от корня сайта (а его таки там нет).
Сотавление условия с адресом сайта.
Мну нужо составить условие. Нужно чтобы если в адресе содержиться слово «page» напимер http://site.ru/page/01/ , то выводилось одно, а когда этого слова не содержиться (http://site.ru/trololo/), то выводилось другое. Как это реализовать.
Каталог перед адресом сайта
Что нужно сделать для того, чтобы можно было заходить в нужный раздел сайта не через.
Что делать с адресом сайта
Здравствуйте. Есть сайт например site.com.ua он на вордпрессе, было решение сделать.
Вписание любых слов перед адресом сайта
Привет. Вот такая проблема у меня. зашел недавно на один сайт имясайта.ru перед адресом сайта.
Автоматизация сохранения страниц с возрастающим адресом с веб-сайта
Здравствуйте. Хочу решить одну проблему. Есть сайт, в нем есть набор картинок, каждая картинка — на.
Вы не поняли. Мне нужно написать скрипт, который будет выводить на странице текст в зависимости от URL страницы.
$shablon = '/page/i'; if (preg_match($shablon, $_SERVER['QUERY_STRING'])) echo 'Какой-нибудь текст';
Вместо $_SERVER[‘QUERY_STRING’] можешь написать $_SERVER[‘REQUEST_URI’], тогда с корнем возьмет, но это думаю не нужно
Добавлено через 1 минуту
в $shablon можешь передать любое слово, и preg_match будет искать уже его в адресной строке
Love_and_Peace, только надо сделать оговорку, что все запросы должны быть перенаправленны на этот скрипт. Для этого нужен .htaccess и подключенный модуль апача mode_rewrite.
Добавлено через 7 минут
да что уж там, для любого чпу нужен этот модуль. А вывод в зависимости от урл — это надо смотреть как работает маршрутизация. Например если /page/01 это перенаправление на дефолтный контроллер и его дефолтный метод, тогда могу предположить что в параметрах придет page = 01. Если нет маршрутизации урл, то и запросы такие сделать нельзя, а если маршрутизация есть, то не должно быть таких глупых вопросов. Хотя наверно за исключение того случая, что вы сами пишете эту маршрутизацию =)
forgergg, ниче не понял
первое, причем тут ЧПУ? Как я понял надо было в зависимости от строки вывести какой-то текст. Какая разница какого вида эта строка?
Вот у меня например, всегда сперва идет буква с (от controller). Если вкл ЧПУ — то юрл -> /c/тут_что_то, а если нет ЧПУ, тогда -> c=тут_что_то
и второе — незнаю что такое маршрутизация. объясни пожалста
Сообщение от Love_and_Peace
При том, что site.ru/page/01 или site.ru/trololo это и есть чпу. site.ru?page=01 не чпу.
Для создания урлов первого типа(считай чпу) необходимо все запросы обрабатывать одним скриптом/файлом. В этом скрипте должны быть механизм управления запросами, так называемый роутер/маршрутизатор. Именно с помощью него можно узнать какие параметры были переданы через урл. тема эта обширная, в фреймворке Symfony для этих целей был создан даже «мини-фреймворк».
Сообщение от Love_and_Peace
Перенаправление в зависимости от урл. Например site.ru/
Т.е. при запросе вида site.ru/materials/show/12 маршрутизатор сопоставит его с имеющимися шаблонами(путями/routes), выберет нужный и запустит определенный метод, определенного класса.
site.ru/materials/show/12 подходит по шаблону к site.ru/
Добавлено через 49 секунд
Не знаю понятно ли я объяснил, но уж как получилось )
PHP if else Request URI help
to see the sample click here see the block where it says Our services in the bottom I don’t want it to be shown on ths page but visible to all other pages.
and why, can I ask, did you try this? have anyone on here suggested it? you’ve completely changed your answer, that’s not nice at all.
I have tried all the suggested answer here and it didn’t worked. I haven’t changed anything I just applied one of the suggestion here and to ask programmers who has more experienced than me.
9 Answers 9
Always indent your code — it’s simplier to see errors
whatever