Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Заблокирован

Правило, отдать содержимое другого url, не меняя текущий

28.10.2024, 16:40. Показов 627. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Code
1
RewriteRule ^robots\.txt$ seo\.php\?type=1 [NC,L]
Есть страницы

Code
1
2
3
/3243-texttes2f3/?get=dsdfs
/342-texttes2f3/
/2-texttes2f3
Схожесть в том, что после слеша идут цифры, далее дефис. И далее возможны гет параметры...

Как определить, что текущий url имеет данный формат и подгрузить содержимое другого url.

Например
Code
1
RewriteRule ^/3243-texttes2f3/?get=dsdfs$ /auto-3243?no=fond [NC,L]
Либо
Code
1
RewriteRule ^/3243-texttes2f3/?get=dsdfs$ /index.php?do=auto&po=3243?no=fond [NC,L]
Страниц не существует, вариант 301 перенаправление, не выход. А get 'no', необходим чтобы попрежнему отдавать 404 код, но с содержимым, до того пока боты не исключат из индекса....
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2024, 16:40
Ответы с готовыми решениями:

Отдать 404 код в ответ и отдать содержимое статичного файла
Как правильно выставить правило в конфигурационном файле nginx(сайта). Если url не содержит 'categ-', отдать 404 код и подгрузить в...

Как спуститься на url уровнем ниже, или перейти из url одного приложения в url другого?
Допустим есть приложение cat и приложение dog. В корневом urls.py прописанно: from django.contrib import admin from django.urls...

Текущий url, дублирование переменных в url
А не подскажет ли мне кто нибудь, как избавиться от дублирующихся переменных get? К примеру есть html: <form id="auth"...

9
Заблокирован
28.10.2024, 17:10
Цитата Сообщение от Dmit199 Посмотреть сообщение
чтобы попрежнему отдавать 404 код, но с содержимым, до того пока боты не исключат из индекса
Никак не отпускает навязчивая идея? К тому же бредовая. Но, я могу подсказать логику, как сделать. Я так понимаю, что запрос будет идти в базу данных и если такая страница не существует - отдавать 404 плюс содержимое. Правильно? Значит, логика такая. При несуществующей странице в базе данных, делаем запрос, который находит первый существующий айди меньше изначального айди.
SQL
1
SELECT * FROM `table` WHERE `id` < $id ORDER BY `id` DESC LIMIT 1;
А 404 отдаем в конце скрипта:
PHP
1
 http_response_code(404);
0
Заблокирован
28.10.2024, 17:17  [ТС]
Необходимо через htaccess, это не решение в моей ситуации...
0
Заблокирован
28.10.2024, 17:24
Цитата Сообщение от Dmit199 Посмотреть сообщение
Необходимо через htaccess
Как думаешь, откуда апач будет знать на какой айди отправлять? Или ты хочешь что бы все несуществующие страницы перенаправлялись на какую-то одну? Тогда откуда апач будет знать какие страницы в базе не существуют? Ну... подумай еще...

Добавлено через 2 минуты
Да и вообще, от Apache уже все продвинутые отказались. Лишняя прокладка.
0
Заблокирован
28.10.2024, 17:33  [ТС]
Попробовал, не вышло, точнее получилось, что та с js ошибки. Не стал разбираться...

Добавлено через 2 минуты
Хорошо.

Есть строчка, как в php определить что она соответствует шаблону? И достать id из нее...?
0
Заблокирован
28.10.2024, 17:42
Цитата Сообщение от Dmit199 Посмотреть сообщение
Есть строчка, как в php определить что она соответствует шаблону? И достать id из нее...?
Вопрос непонятен. Обычно по айди достают строчку из базы, а не наоборот. Хотелось бы пояснений.
0
Заблокирован
28.10.2024, 18:29  [ТС]
Отдаю 404 код

Правило подгружает страницу
Code
1
ErrorDocument 404 /?do=404
На странице с 404, необходимо определить к каком каталогу принадлежит данный url.

Code
1
/3243-texttes2f3/
К примеру этот шаблон, где строчка начинается с цифр, а за цифрами дефис. Относится к публикациям...

Как определить, что url которого не существует, относиться к публикации и достать из него цифры до дефиса?
0
Заблокирован
28.10.2024, 19:18
Цитата Сообщение от Dmit199 Посмотреть сообщение
url которого не существует, относиться к публикации и достать из него цифры до дефиса?
Распарсить урл что ли надо?
PHP
1
2
3
$url='/3243-texttes2f3/';
$in=explode('-', explode('/',$url)[1])[0];
if(is_numeric($in)) echo $in;
1
Невнимательный
 Аватар для ft4l
3107 / 1281 / 358
Регистрация: 08.02.2013
Сообщений: 7,496
Записей в блоге: 2
28.10.2024, 19:21
Цитата Сообщение от Dmit199 Посмотреть сообщение
На странице с 404, необходимо определить к каком каталогу принадлежит данный url.
в $_SERVER['REDIRECT_URL'] будет строка запроса,
если сервер подсунул 404
... если этот скрипт/страницу можно открыть и просто по запросу, наверное придётся костылить что-то такое
PHP
1
2
3
4
    if (isset($_SERVER['REDIRECT_URL']))
        $uri = $_SERVER['REDIRECT_URL'];
    else if ($tmp = strpos(($uri = $_SERVER['REQUEST_URI']), '?'))
        $uri = substr($uri, 0, $tmp);// если без query_string
1
Заблокирован
28.10.2024, 19:35  [ТС]
Спс, вроде все работает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2024, 19:35
Помогаю со студенческими работами здесь

Отдать файл с другого сервера
Здравствуйте форумчане. У меня файл загружается сразу на несколько серверов: sv01.site.ru/file/filecontent.rar ...

Текущий URL
Как с помощью PHP извлечь текущий URL страницы??? Спасибо.

Текущий URL в файл
Есть редикт который добавляет некоторые данные в адресную строку, надо чтобы при переходе на ссылку текущий url сохранялся в текстовый...

Правило перезаписи URL
Здравствуйте! Суть идеи в том, что бы в записях нужно будет менять пару полей и нашел следующий способ. Но в нем ссылка постоянная,...

Вытащить из HTTPClient текущий URL
Приветствую! Вопрос простой. Делаю запрос через HTTPClient.GET. Происходит редирект. Как узнать, какой адрес является текущим? В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru