Я бы хотел использовать mod_rewrite для создания красивых URL-адресов, но иметь одну версию файла .htaccess, которую можно использовать для любого пользователя на сервере.
Пока у меня есть стандартный красивый URL .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
В идеале хотелось бы что-то похожее на
RewriteRule ^(.*)$ %{URL of this file's directory}/index.php/$1 [L]
Эта документация заставит меня поверить, что то, что я хочу, не нужно:
Примечание: сопоставление с образцом в контексте каталога
Никогда не забывайте, что Pattern применяется к полному URL в файлах конфигурации для каждого сервера. Однако в файлах конфигурации для каждого каталога префикс для каждого каталога (который всегда одинаков для определенного каталога) автоматически удаляется для сопоставления с шаблоном и автоматически добавляется после замены. Эта функция необходима для многих видов переписывания - без этого вам всегда придется сопоставлять родительский каталог, что не всегда возможно.
Тем не менее, я все еще получаю неправильный результат, независимо от того, поместил ли я ведущий / перед index.php в RewriteRule.
Это,
http://server/test/stream/stream
превращается в
http://server/index.php/stream
не
http://server/test/index.php/stream
когда файл .htaccess находится в /test/.