Это, вероятно, то, что вы ищете, если хотите внешнее перенаправление:
RewriteEngine on
RewriteRule ^/?project/index\.html$ /project/index.html.trig [R=301]
RewriteRule ^/?project/index\.html\.twig$ /project/index.html [END]
Если вы хотите внутреннюю переписать, используйте этот вариант:
RewriteEngine on
RewriteRule ^/?project/index\.html\.twig$ /project/index.html [R=301]
RewriteRule ^/?project/index\.html$ /project/index.html.trig [END]
Эти правила должны работать аналогично, в конфигурации хоста http-серверов или в файле динамической конфигурации (файл стиля ".htaccess"). Вы определенно должны предпочесть первый вариант, если у вас есть доступ к нему. Если вам нужно использовать динамический файл конфигурации, позаботьтесь о том, чтобы его интерпретация была вообще включена и находилась в папке хоста DOCUMENT_ROOT
.
В случае, если вы получаете внутреннюю ошибку сервера (http status 500), используя это правило, есть вероятность, что вы используете старую версию apache http server. В этом случае вы найдете определенный намек на неизвестный флаг [END]
в файле журнала ошибок http-серверов. Попробуйте использовать более старый флаг [L]
, в этом случае он, вероятно, будет работать так же, хотя это зависит от вашей настройки.