Apache2: 400 Плохих Запросов с Переписывают Правила, ничто в журнале ошибок?

Вы захотите сделать то, что называют "обновлением присоединения базы данных" Ваших данных 2007 года. Основная схема того, что происходит, то, что Вы:

  • установите свою ферму SharePoint 2010 (удостоверьтесь, что все настройки являются установкой, как Вы хотите их, и что Вы включаете все пользовательские / решения других производителей и веб-части),
  • скопируйте свою базу (базы) данных SharePoint 2007
  • восстановите свою базу (базы) данных к Базе данных SharePoint 2010
  • Добавьте свою новую базу данных/сайт к ферме SharePoint 2010 с помощью команды:

    stsadm-o addcontentdb - URL -databasename <имя базы данных>
    (это обновит Вашу базу данных до формата 2010 года одновременно),

  • Обновите сайт (сайты) для использования нового интерфейса SharePoint 2010

Вот 2 сообщения в блоге, которые идут, Вы через базу данных присоединяете процедуру обновления: http://sharepointgeorge.com/2009/upgrading-content-db-sharepoint-2010-part-1-preupgradecheck/ http://sharepointgeorge.com/2009/upgrading-content-database-sharepoint-2010-database-attach-method/

Кроме того, проверьте эту диаграмму от Microsoft для наблюдения всех доступных опций обновления.

5
задан 1 July 2011 в 04:30
3 ответа

Для сложных правил mod_rewrite это - хорошая идея зарегистрировать последовательность событий для наблюдения то, что происходит. Сделайте это использование RewriteLog и проверните RewriteLogLevel для наблюдения деталей.

mod_rewrite очень гибок, и можно сделать много вещей с переписать правилами и является также вполне сложным. Посторонний испытает затруднения при отладке правил, не видя более широкий контекст. Лучшая вещь, которую можно сделать, отлаживает его самостоятельно. Наблюдайте журналы в одном окне, в то время как Вы экспериментируете с изменениями конфигурации во втором окне. Сделайте небольшое изменение, сохраните файл, перезагрузите апача и поразите URL снова. Повториться.

Вот хорошее описание RewriteLog из руководства Apache:

Перепишите журнал

При использовании мощных и сложных функций mod_rewrite почти всегда необходимо использовать RewriteLog для помощи в отладке. Этот файл журнала производит подробный анализ того, как механизм перезаписи преобразовывает запросы. Уровнем детализации управляет директива RewriteLogLevel.

6
ответ дан 3 December 2019 в 01:07

Ваша замена в <virtualhost> контекст использует неабсолютный URL. Вы не можете сделать этого за пределами контекста Directory/htaccess.

3
ответ дан 3 December 2019 в 01:07

Несколько других примечаний, которые стали немного слишком большими, чтобы содержаться в простом комментарии:

RewriteCond $1 работы, но это является довольно опасным и хрупким. В частности, Вы, возможно, легко переписали RewriteRule, чтобы отключить функциональность того, что RewriteCond в целом, и Вы никогда не будете знать, что имели. Использование %{REQUEST_URI} рекомендуется как решение, а-ля RewriteCond %{REQUEST_URI} ^/(index\.php|resources|robots\.txt).

Следующий выпуск: эти две строки:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

не функциональны, как представлено. Они любой должны быть размещены внутри a <Directory> строка файла конфигурации, или измененный для использования предварительных макросов (например. RewriteCond %{LA-U:REQUEST_FILENAME} !-f).

Фактическая причина Вас бывший должный удалить / это .htaccess снимает изоляцию с продвижения / от первого аргумента RewriteRule, тогда как с этим поставляют / неповрежденный к RewriteRules в httpd.conf (или Included файлы), который является чем-то важным для запоминания в случае, если Вы когда-либо пытаетесь положить обратно это правило в .htaccess. Можно переделать Правило быть .htaccess/httpd.conf-agnostic путем выполнения чего-то как RewriteRule ^/?(.*)$ index.php/$1 [L,QSA].

Одно последнее примечание: как Вы видите в правиле, выше, Вы не должны выходить / с обратной косой чертой.

2
ответ дан 3 December 2019 в 01:07

Теги

Похожие вопросы