2016-11-24 1 views
-3

На самом деле я создал PHP-скрипт, где требуется файл .htaccess. Но проблема в том, что: когда я мой скрипт на сервере Ipage, этот сервер не загружает файл .htaccess автоматически.Как я могу сделать файл .htaccess с помощью PHP? Если не найден файл .htaccess в моем каталоге

Хотя я могу создать файл .htaccess с сервера кнопкой «Создать файл». В этой ситуации я хочу: Мой скрипт автоматически создаст файл .htaccess, если не найден файл .htaccess в моем каталоге. Код


Мой файл .htaccess является bool file_exists (string $filename) метод

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 
+0

И код/​​код, который вы использовали? – SuperDJ

+0

@SuperDJ, какой сценарий используется, это не факт - я думаю. Я просто хочу знать. Если я запустил файл index.php, он будет проверять файл .htaccess или нет. Если не существует - файл index.php автоматически создаст новый файл .htaccess. –

+0

Как узнать, что он должен записать в '.htaccess'? –

ответ

1

Используйте PHP для проверки, если файлы не существует. Если не создать его и написать свое содержимое к нему (например, используя file_put_contents).

if(!file_exists('.htaccess')) 
{ 
    $content = 'RewriteEngine On' . "\n" 
    $content .= 'RewriteCond %{REQUEST_FILENAME} !-d' . "\n" 
    $content .= 'RewriteCond %{REQUEST_FILENAME} !-f' . "\n" 
    $content .= 'RewriteCond %{REQUEST_FILENAME} !-l' . "\n\n" 
    $content .= 'RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]'; 

    file_put_contents('.htaccess', $content); 
} 
+2

Функция PHP5 ['file_put_contents'] (https://secure.php.net/file_put_contents) проще, короче и чище. Функции файлов PHP4 имеют свое право, особенно когда речь идет о буферизованных чтениях и письмах. Но этот вопрос не такой. –

+0

yup, спасибо за подсказку – sigy

Смежные вопросы