Если вы знаете количество ожидаемых элементов, вы можете проверить каждую строку
f=open(filename,'r')
for line in f:
line=line.split("`")
if line!=numElements:
raise Exception("Bad file")
Если вы знаете, что разделитель был случайно вставлен, вы также можете попытаться восстановить его вместо выдачи исключения. Возможно, что-то вроде:
line="`".join(line).replace(wrongDelimiter,"`").split("`")
Конечно, как только вы зашли слишком далеко, чтобы прочитать файл, нет большой необходимости использовать внешнюю библиотеку для чтения данных. Просто иди и используй его.
Попытка ответить на вопрос: Для отладки операции Apache, можно скорректировать LogLevel к более низкому уровню (возможно, debug
). Но даже если Вы помещаете debug
при отключении Журнала для рассматриваемого модуля, Вы не получаете сообщений от него. Например, значение по умолчанию [RequestLogLevel][2]
0, например, модуль не пишет сообщений. Я вижу Вас setted, который это к 3, но как RoBorg сказало, изменяют его на 9
это, возможно, слишком низко для Вашего случая.
Попытка к sove проблема: Попытайтесь изменить способ, которым Вы переписываете имя хоста с помощью обратной формы - смотрят, если имя хоста - то, что Вы хотите и, в противном случае изменяете его на имя хоста, которое Вы хотите. Как установленный в Руководстве по Перезаписи URL - Apache Сервер HTTP на Сайте Apache:
Канонические имена хостов
Описание: цель этого правила состоит в том, чтобы вызвать использование конкретного имени хоста, в предпочтении к другим именам хостов, которые могут использоваться для достижения того же сайта. Например, если Вы хотите вызвать использование www.example.com вместо example.com, Вы могли бы использовать вариант следующего рецепта. Решение:
# To force the use of RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://www.example.com/$1 [L,R]
В их примере они изменяются от example.com
кому: www.example.com
но Вы получили идею. Просто скорректируйте его для своего случая.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ "http\:\/\/domain\.com\/$1" [R=301,L]
</IfModule>
Имел ту же проблему с моим сервером, но это работало
В который контекст помещаются эти правила? Вы могли бы размещать их под другим виртуальным хостом, например. Попытайтесь поместить их вне любого контейнера, если у Вас есть только один домен для тестирования.
В любом случае существует альтернатива для достижения 'нет', состоит в использовании двух виртуальных хостов, один для www и другого для 'нет'. www каждый перенаправляет к другому:
<VirtualHost *:80>
ServerName www.domain.com
Redirect permanent / http://domain.com
</VirtualHost>
<VirtualHost *:80>
ServerName domain.com
#The rest of the configuration (proxying, etc.)
</VirtualHost>
Попытайтесь увеличить регистрирующийся уровень до 9 (максимум).
Убедитесь, что апач имеет надлежащие права на файл журнала (хотя, если он создал его, кажется вероятным, что он мог бы записать в него также).
Попытка другое переписывает правило, без условия, например RewriteRule .* www.google.com [RL]