Вместо того, чтобы проверять, что такое %{REQUEST_URI}
, вы можете просто проверить, существует ли ресурс:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* mygenericscript.php
Это предотвращает перенаправление статических ресурсов (изображений, таблиц стилей и т. Д.), Если они обрабатываются в том же каталоге, в котором находится .htaccess
.
Вероятно, сейчас происходит то, что вы видите внутреннюю ошибку сервера, вызванную бесконечным внутренним циклом перенаправления, когда вы пытаетесь получить доступ ко всему, что не /
или /index.html
. Это связано с тем, что .*
соответствует каждому запросу, и после первого перезаписи на mygenericscript.php
набор правил обрабатывается повторно (из-за того, как mod_rewrite
работает в контексте, в котором вы его используете).