На моем сайте PHP я хотел бы иногда показать страницу обслуживания пользователям. Я знаю, что могу сделать это в PHP очень легко, но я использовал бы htaccess файл, я думаю, что производительность может быть лучше этот путь. Таким образом, то, что я желаю знать, является банкой, я изменяю htaccess файл в PHP? Если возможно, что я думаю также,
1 - Имейте в файлы, и 1 будет иметь код ниже в нем, и другой не будет, оба файла содержать мой другой материал htaccess также. Затем php может переименовать эти 2 файла, когда я запускаю администраторский скрипт для переключения, какой файл показывают, путем изменения это - имя к .htaccess
2-Read содержание текущего .htaccess файла и ДОБАВЛЯЮТ код ниже в него, затем затем смочь удалить его из файла в случае необходимости.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/maintenance\.php$
RewriteRule ^(.*)$ http://domain.com/maintenance.html [R=307,L]
Моя цель состоит в том, чтобы создать администраторский сценарий, который может иметь 1 обработку щелчка для изменения страницы обслуживания, чтобы показать или не показать.
Любой пример кода или подсказки относительно того, как сделать это или если даже возможно изменить .htaccess файл от PHP
Можно использовать ALTER TABLE t ORDER BY col; Допустимый синтаксис ORDER BY соответствует операторам SELECT.
-121--3212651-Джефф Этвуд опубликовал эту тему в «Великий раскол в новой линии»
Википедия охватывает историю новой линии .
Вкратце, CR + LF - это ссылка на дни использования электрической пишущей машинки, когда для перемещения курсора влево сначала используется возврат каретки, а для перемещения вниз по линии - линейная подача. Иногда вы просто используете один или другой для написания специальных символов, таких как подчеркивание или зачеркивание.
CRLF
Компьютеры использовали эту номенклатуру, поскольку она была полезна для взаимодействия с машинами teletype . Поэтому MS-DOS и впоследствии Windows используют CRLF.
LF
Очевидно, что Multics и впоследствии Unix взяли свой ключ из 1963-64 проекта проекта стандартов ISO, который указал, что CRLF или LF могут представлять новую линию, и пошли с одним символом LF.
CR
Я все еще немного озадачен историей принятия CR яблоками. Я смотрю на это... До сих пор, я думаю, что это связано яблоком ранним различением между ввод и возврат клавиши . В первые дни ключ возврата соответствует возврату каретки, а ключ ввода - подаче строки, а не одному ключу «ввода», который выполняет двойную функцию, как в мире Windows. Для пользователей пишущих машинок, которые обычно используют возврат каретки для специального форматирования, это, возможно, имело смысл разделить их, и яблоко фактически использовало ключ возврата для специальных опций форматирования.
Где я не так уверен, как, когда они отказались от этого, они остановились только на использовании CR, но я предполагаю, что это даты этого раннего решения использовать CR для ключа возврата... но я могу ошибаться.
-121--1906228-Можно использовать fopen для открытия и fwrite для записи в файл. Вы хотите открыть его в режиме добавления, прочитайте руководство, чтобы узнать, что применимо.
Это звучит как странный способ делать вещи.
Я выполняю то, что вы пытаетесь сделать, просто переписав правила, которые проверяют наличие файла:
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /maintenance.html [L]
Если файл maintenance.html присутствует, то мой сайт находится в состоянии обслуживания.
Я бы настоятельно рекомендовал не писать .htaccess
из PHP
. Вы должны предоставить пользователю веб-сервера (который традиционно имеет очень низкие привилегии) доступ на запись .htaccess
; все, что вам нужно, это один работоспособный скрипт, и злоумышленник может эффективно переконфигурировать ваш сервер.
Для режима обслуживания внутри приложений, необходимо, чтобы PHP
сам возвращал страницу обслуживания. При сопровождении самого приложения достаточно просто временно переименовать файл в .htaccess's
, чтобы включить перезапись сопровождения.