Это можно сделать, но только если RewriteRule
указано в контексте на сервер , что означает, что вы должны иметь возможность редактировать конфигурацию для VirtualHost
илисервер в целом (httpd.conf
).В этом случае у вас будет нормально работать правило.
Определение правила в .htaccess
не работает, потому что это происходит на этапе исправления обработки запросов Apache, то есть после того, как Apache пытается отобразитьзапрос к файловой системе (и, следовательно, после ошибок Apache из запроса).Если у вас нет доступа к необходимым файлам конфигурации, самый очевидный обходной путь для этого - просто не передавать схему http://
как часть URL.
Ваше правило все равно будет работать, но из-закак mod_rewrite
работает в контексте для каждого каталога, вам, вероятно, следует также предусмотреть это, чтобы предотвратить цикл перенаправления (L
и явная группа захвата также не нужны):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ /test.php?domain=$0
downforeveryoneorjustme.com
идет, он работает на сервере Google Frontend, который, как сообщается, является модифицированной версией Apache (хотя я сам не особо проверял это), поэтому я думаю, что они ушли спервый вариант, или есть какая-то совершенно другая система;Я не уверен.