веб-разработка: как вы обычно справляетесь со страницей «в разработке»? - PullRequest
2 голосов
/ 01 июня 2010

Мне было интересно, как лучше всего переключить веб-сайт на временную страницу «в процессе разработки» и переключить его на новую версию.

Например, на веб-сайте мой клиент решил перейти с Joomla на Drupal, и мне пришлось создать подпапку для новой CMS, а затем переместить весь контент в корневую папку.

1) Перемещение всего содержимого обратно в корневую папку всегда создает некоторые проблемы с правами доступа к файлам, ссылками и т. Д ...

2) Создание правила перезаписи в .htaccess или forward с помощью php не является решением, поскольку отображается другой URL-адрес, включая верхнюю папку.

3) Многие хост-службы не позволяют изменять корневой каталог, поэтому это не вариант, поскольку у меня нет доступа к файлу конфигурации apache.

Спасибо

Обновление : возможно, я могу перенаправить только домен (например, www.example.com) и оставить ip в корневой папке (например, 123.24.214.22), так что доступ, наконец, для меня и другие люди? Могу ли я сделать это в файле .htaccess?

Ответы [ 4 ]

1 голос
/ 02 июня 2010

Следует учесть, что вы не хотите, чтобы поисковые системы кэшировали вашу страницу, находящуюся в процессе разработки, - и вы также не хотите, чтобы они также удаляли вашу домашнюю страницу из поискового индекса (следовательно, просто добавьте метатег noindex). не идеальное решение).

Хороший способ справиться с этим - это сделать перенаправление 302 (временно перемещенное) с вашей домашней страницы на страницу в разработке. Таким образом, поисковая система не кэширует вашу домашнюю страницу как страницу в разработке, не индексирует вашу страницу в разработке. страница (при условии, что она имеет метатег NOINDEX) и не удаляет вашу домашнюю страницу из поискового индекса.

0 голосов
/ 01 июня 2010

Когда я использовал PHP для веб-сайтов, я настроил Apache для перенаправления всех запросов на фронт-контроллер.Тогда у вас будет полный доступ ко всем запросам независимо от того, на что они указывают.Затем в вашем фронт-контроллере (PHP-файл, статический html-файл и т. Д.) Вы будете делать там все, что вам нужно.

Я считаю, что вам нужно настроить pathinfo в Apache и некоторых других настройках, это былооколо 3 лет с тех пор, как я использовал этот подход.Но этот подход также хорош для разработки вашей собственной CMS или приложения, чтобы у вас был полный контроль над безопасностью.

Вы должны сделать что-то похожее на это: http://www.phpwact.org/pattern/front_controller

Я ищудля более подробной информации, я знаю, что моя конфигурация имела больше, чем это.

Это тоже часть того, что я ищу: http://httpd.apache.org/docs/2.0/mod/core.html

Включение path_info передает информацию о пути в скриптвсе запросы теперь проходят через одну точку входа.Позвольте мне найти мою конфигурацию, я смутно знаю, как это работает, но я уверен, что это выглядит как размахивание руками.

Кроме того, имейте в виду, что, поскольку все запросы проходят через этот единственный файл PHP,Вы несете ответственность за обслуживание изображений, JavaScript, CSS и т. д. Итак, если поступает запрос для /css/default.css, который будет проходить через ваш php-скрипт (index.php, скорее всего), тогда вам понадобитсяопределить, как обрабатывать запрос.Обслуживание статических файлов тривиально, но это немного больше работы.

Если вы не хотите идти по этому пути, вы можете сделать что-то с mod_rewrite, чтобы он только просматривал страницы .html, .htmили, тем не менее, ваш сайт настроен.Для меня я не делаю расширения, так что мое регулярное выражение стало немного сложнее.Я также хотел обеспечить доступ ко всем файлам.Path_info была для меня решением, но если вам не нужна такая детализация, тогда написание фронт-контроллера может быть слишком трудоемким.

Walter

0 голосов
/ 01 июня 2010

Как насчет захвата вашего файла index.php?

Что-то простое, по линии

<?php
  if (SITE_OFFLINE)
    include 'under_construction.html';
  else
    //normal content of your index page
?>

где вы, естественно, определяете SITE_OFFLINE в подходящем месте для ваших нужд.

0 голосов
/ 01 июня 2010

Одним из способов будет использование включения на странице шаблона.
Когда вы хотите, чтобы страница конструктора отображалась, вы устанавливаете перенаправление во включении, чтобы перевести весь трафик на страницу конструктора.

Когда вы закончите, удалите перенаправление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...