Для OS X это довольно просто: перейдите к http://www.apple.com/support/leopard/, и Вы будете видеть, что в 2009 было 2 обновления системы защиты и было 7 обновлений 10,5, так как это было выпущено. Обратите внимание, что доработанные версии имеют тенденцию включать последние обновления системы защиты поэтому в этом году было, вероятно, только 3 обновления OS X.
Включая Safari iTunes и т.д. обновляет однако, я сказал бы, что обновил свою систему приблизительно 4-5 раз в этом году. Не еженедельная вещь безусловно.
Apache 1.3 не использует Perl совместимый регулярный expressoins (PCRE), он использует POSIX regexes. POSIX regexes не поддерживает отрицательное предвидение. Поддержка PCRE является новой возможностью, запускающейся в Apache 2.
Относительно того, как заставить это работать, вероятно, необходимо использовать некоторый RewriteCond, чтобы иметь правило НЕ, инициировали, если это соответствует одному из тех трех..., например, возможно:
RewriteCond %{REQUEST_URI} !index.php.*
RewriteCond %{REQUEST_URI} !skin/.*
RewriteCond %{REQUEST_URI} !js/.*
RewriteRule ^(?!index.php)(?!skin/)(?!js/)(.+) /index.php?file=$1 [NC,L]
Конечно, я не протестировал это... У меня нет Apache 1.3's вокруг больше.
Adam Bellaire прав. Apache изменил механизм регулярного выражения с версией 1.2 и с версией 2.0.
Для Apache 1.1.x они использовали “Систему V8” и начиная с Apache 1.2, и позже это был POSIX ДО. Последнее изменение было с Apache 2.0, когда они переключились на PCRE. Можно смотреть на Сравнение Разновидности Регулярного выражения для наблюдения различий.
Теперь вот решение, как можно решить это без предварительных утверждений, которые только доступны в PCRE:
RewriteCond $1 !^(index\.php|skin/|js/)
RewriteRule ^(.+) /index.php?file=$1 [NC,L]
Здесь дополнительное RewriteCond
должен проверить, что совпавшая строка первого подшаблона действительно запускается с перечисленных опций.