Это не работает, т.к. там строка без начального слеша.
RewriteRule ^$ index.html [L]---------- Добавлено 03.12.2014 в 03:50 ----------Или такой вариант
RewriteCond %{HTTP_HOST} ^s1.ru RewriteRule ^index.php$ index.html [L]
Поменять шаблон в RewriteRule
RewriteRule ^mandarin http://google.com/ [R,L]
Вероятно ТС совсем заработался и упорно пытается найти ip клиента в $_SERVER['SERVER_ADDR'].
Искать следует в $_SERVER['REMOTE_ADDR'] и $_SERVER['HTTP_X_FORWARDED_FOR']
Функция readdir возвращает лишь имя файла, а не полный путь к файлу.
И неплохо проверять, что открываешь файл, а то каждый каталог содержит, как минимум, ссылку на себя '.' и родительским каталог '..'
http://php.net/manual/en/ziparchive.extractto.php
$srcdir = './gamezip/'; $zip = new ZipArchive; if ($head=opendir($srcdir)){ while (false != ($file = readdir($head))) { $file = $srcdir.$file; if (!is_file($file)) continue; $res = $zip->open($file); if ($res === TRUE) { $zip->extractTo('./game/'); $zip->close(); echo 'woot!'; } else { echo 'doh!'; } } }
Если стоит задача найти дубли контента на страницах сайта, которые уже выпали или еще не попали в индекс.
Решением будет сделать своего робота, который обойдет все страницы на сайте и проведет поиск дублей, используя, например, алгоритм шинглов.
http://php.net/manual/en/function.str-getcsv.php
$text = '~01001~^~0100~^~Butter, salted~^~BUTTER,WITH SALT~^~~^~~^~Y~^~~^0^~~^6.38^4.27^8.79^3.87';var_dump(str_getcsv($text, '^', '~'));
RewriteCond %{DOCUMENT_ROOT}/folder%{REQUEST_URI} -fRewriteRule ^ /folder%{REQUEST_URI} [L]
Выполняет поиск файла в folder и отдает его если он существует.
Создать новое http://php.net/manual/ru/function.mkdir.php или переименовать старое http://php.net/manual/ru/function.rename.php ?
Для отрезания строки http://php.net/manual/ru/function.substr.php
Сей баг можно объявить фичей :)
Там изначально в шаблоне кусок $\s+ захватывал любое количество подряд идущих пробелов и переносов строк.
В результате текст обрабатывался как если бы пустых строк не было вовсе.
Решается разделением блоков строками с любым символом.
Например:
консалт строй плюсконсалт строй;консалт медиа группконсалт медиа;консалт
Вообще, такое поведение легко исправить, заменив $\s+ на \r?\n. Тогда поиск будет останавливаться на пустых строках, как положено.
<html><body><textarea id="t1" rows="20" cols="60">Исходный набор</textarea><br><button id="btn1" onClick="proc()">Go</button><br><br><textarea id="t2" rows="20" cols="60">Результат</textarea><script>function proc(){ str = document.getElementById('t1').value; pos = 0; res = []; do { i = 0; str = str.substr(pos).replace(/^((.+) (?:.+)$(?:\r?\n\2 (?:.+)$)*)\r?\n\2(?= *$)/m, function(m0, m1, m2, offset, s){ i = 1; pos = offset + m1.length; res.push(s.substr(0, pos)); regexp = new RegExp("^" + m2.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1'), 'mg'); return m0 + m0.replace(regexp, '').trim().replace(/(^|\s+)-?/g, ' -'); }); } while (i); document.getElementById('t2').value = res.join('') + str;}</script></body></html>