скрипт для перезаписи .htaccess файл работает на wamp, но не на общем хосте в сети

Я написал CMS который позволяет управлять файлом .htaccess через администрирование. На моем компьютере все хорошо, и обновления происходят, и .htaccess перезаписывается, как было разработано. Однако на общем хосте в сети скрипт возвращает страницу обновления / перезаписи как пустую страницу без источника.

Просмотр через консоль js в chrome вызывает мигание следующей ошибки, которую я смог поймать на экране печати:

ошибка

Хотя страница обновления возвращается пустым, а ошибка 500 мигает, сам сайт не затрагивается и отображает хотя внутреннюю ошибку.

Мой вопрос … Возможно ли, что в php.ini или где-то еще на сервере, который я не знаю об этом, можно было бы предотвратить динамическое обновление файла .htaccess?

Моя система работает под управлением PHP 5.5.12, а сервер – 5.4.

=== ОБНОВЛЕНИЕ ВОПРОСА ===

Сервер не распознает \r и в результате файл .htaccess выполняет рендеринг в одной строке без разрывов ссылок и комментирует сам.

Вот исходный код:

 # Prevent viewing of .htaccess file if($view_htaccess == 1){ $htaccess_code .= "# Prevent viewing of .htaccess file \r"; $htaccess_code .= "<Files .htaccess> \r"; $htaccess_code .= "order allow,deny \r"; $htaccess_code .= "deny from all \r"; $htaccess_code .= "</Files> \r"; $htaccess_code .= " \r"; } 

Я тоже пытался \n\r и \r\n … не уверен, куда идти отсюда

Спасибо за любую помощь заранее,

Пит

Related of "скрипт для перезаписи .htaccess файл работает на wamp, но не на общем хосте в сети"

ПРОБЛЕМА РЕШЕНА:

В wamp на моем компьютере сервер не был \n но распознал \r поэтому я запрограммировал соответственно. После загрузки на сервер ошибка 500 была вызвана тем, что сервер не распознал \r или \n и не запускал код вместе, где он сам комментировал.

Хотя я не понимаю, почему это сработало, я решил сохранить сгенерированный код htaccess во временный текстовый файл, а затем вызвать содержимое временного текстового файла через file_get_contents('htaccess-temp.txt'); а затем сохраните его в файле htaccess.

Однако это привело к другой проблеме, когда скрипт автоматически добавлял косые черты в косые черты в пользовательских агентах робота Internet\ Ninja которым требовалось str_replace("\\", "\\", $get_htaccess_code); для применения к возврату file_get_contents('htaccess-temp.txt'); перед сохранением в файл htaccess. Слэш для замены с необходимостью экранирования.

Окончательный код:

 $file_handle = fopen('htaccess-temp.txt', 'w'); fwrite($file_handle, $htaccess_code); fclose($file_handle); $get_htaccess_code = file_get_contents('htaccess-temp.txt'); $get_htaccess_code = str_replace("\\", "\\", $get_htaccess_code); $file_handle = fopen($level.'.htaccess', 'w'); fwrite($file_handle, $get_htaccess_code); fclose($file_handle); 

Хотя это работает, я до сих пор не понимаю, почему мне сначала нужно было сохранить код в текст … и почему добавлены косые черты. Если у вас есть идеи, прокомментируйте.

Пит