Intereting Posts
Drupal 6: Views: перечисление таксономических терминов с помеченными узлами под Разница в производительности PHP-фактора 30 от Linux до Windows openshift laravel 5.0 загруженные изображения удалены после нажатия изменений Автоматически удалять запись в таблице, когда дата истекла? Пэкинг не работает при добавлении AJAX laravel compact () и -> с () Принимать куки, используя cURL? Как повысить производительность с помощью Vim и Eclipse для проектов PHP5.3 (возможно, используя интеграцию Eclim с Zend Studio) Обрезать пробелы из изображения в PHP SaveMany для обновления нескольких записей одновременно в CakePHP не работает curl_exec не возвращает данные Apache mod_rewrite не отображает выражение в параметр Экспорт / импорт CSV с помощью PHPExcel PHP Найдите первую часть почтового индекса в Великобритании, когда полный или часть может быть введена Преобразование формата даты США в формат даты ANSI SQL (YYYY-mm-dd)

Использовать PHP для динамического добавления в файл .htaccess?

То, что я пытаюсь сделать, – автоматизировать процесс перехода с веб-сайтов. Эти веб-сайты динамически создаются с использованием htaccess, поэтому вот пример:

RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] RewriteRule ^(.*)$ /folder%{REQUEST_URI}?%{QUERY_STRING} [QSA,L] 

То, что я делаю, это добавить псевдоним домена для домена.com , а затем указать его на мой IP-адрес сервера, а файл htaccess позволяет просмотреть, что находится в папке /.

Он отлично работает, но мы планируем иметь сотни веб-сайтов и добавление этого фрагмента кода в htaccess вручную может стать довольно раздражающим. Поскольку все, что я изменяю, это domain.com и / folder , есть способ использовать PHP для динамического добавления в нижней части файла .htaccess, если я создам форму и скажу ей домен и папку, он добавит его в нижней части файла htaccess?

Это спасло бы столько времени.

Спасибо.

Related of "Использовать PHP для динамического добавления в файл .htaccess?"

Я действительно не рекомендую разрешать php добавлять ANYTHING в .htaccess, это большой риск для безопасности.

 //but here is your code $f = fopen(".htaccess", "a+"); fwrite($f, "your content"); fclose($f); 

Ну вот:

 function writeht($domain, $folder) { $fp = fopen('.htaccess','a+'); if($fp) { fwrite($fp,' RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{HTTP_HOST} ^(www\.)?'.str_replace('.','\.',$domain).'$ [NC] RewriteRule ^(.*)$ /'.$folder.'%{REQUEST_URI}?%{QUERY_STRING} [QSA,L]'); fclose($fp); } } //usage: writeht("domain.biz","yourfolder"); 

Работает отлично для меня с разрешениями 0644 на .htaccess (поскольку php работает под тем же именем, что и владелец файла)

Конечно. Его просто еще один файл, если у процесса есть разрешение на запись в файл.

Довольно удобный способ – использовать класс PEAR File_HtAccess . Но, как сказано ранее, вы не должны писать файл из PHP-скрипта, доступного через Интернет.