Я недавно перешел на использование PHP-среды Symfony2 и хотел с самого начала включить все преимущества html5boilerplate, однако у меня возникли некоторые проблемы с объединением файлов .htaccess для обоих.
Лучшие три из шаблонной;перенаправление с www.example.com на example.com, example.com/test на example.com/test/ и ограничение доступа к любым папкам, начинающимся с a.(.git, например).
Финальным является перезапись Symfony2 для внешнего контроллера.Я бы хотел, чтобы к нему обращались, если не происходит никаких других перенаправлений (поэтому example.com/hello/ должен его достичь).
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ /$1/ [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteRule "(^|/)\." - [F]
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
Если прокомментировано последнее переписывание, Apache возвращает 400 Bad Request, иЯ не совсем уверен, почему .. Перенаправление установлено на внешний (R = 301), поэтому он должен переоценить и перейти к app.php 1.
Перезапись уже включена.
Любые предложения были бы хорошими, но не слишком хороши для переписывания = (