#php #apache #.htaccess
#php #apache #.htaccess
Вопрос:
- У меня есть приложение на PHP, работающее на Apache (Linux).
- Когда клиент локальный (LAN), DOCUMENT_ROOT: /webroot/public_html/app
- Когда клиент является удаленным (WAN), DOCUMENT_ROOT: /webroot/public_html/extapp
- Я хотел бы, чтобы файл .htaccess, когда возникает 403 или 404, Apache мог перенаправлять, что-то подобное:
Ошибка в документе 403 ( DOCUMENT_ROOT === ‘/app’ ) ? /app/error/403.php : /extapp/error/403.php
Спасибо!
Комментарии:
1. невозможно. директивы errordoc выполняют ПРОСТОЕ сопоставление http-кода -> single script. если вы хотите загружать разные файлы, тогда
ErrorDocument 403 somescript.php
и поместите логику в этот ОДИН скрипт для загрузки соответствующих данных:<?php if ($is_lan) { load_lan(); } else { load_wan(); }
2. Спасибо! Я действительно думал, что смогу что-то подобное, потому что есть инструкция RewriteEngine On, которая включает механизм перезаписи и позволяет использовать регулярные выражения.
3. ошибка document не имеет НИЧЕГО общего с mod_rewrite. это все равно, что сказать. «Я думал, что поедание этого банана научит меня водить этот ferrari»