.htaccess to vhost - PullRequest
       12

.htaccess to vhost

1 голос
/ 06 декабря 2010

Кто-нибудь знает, что поместить в vhost.conf для apache, чтобы повторить это (из .htaccess):

RewriteEngine on  
RewriteCond $1 !^(index\.php|images|scripts|css|uploads|robots\.txt)  
RewriteRule ^(.*)$ /index.php/$1 [L]  

По сути, я хочу, чтобы все запросы, за исключением / images, / scripts или / css, проходили через /index.php.

Это работает, когда я использую файл .htaccess, но я хотел бы знать, как это сделать через vhost.conf. Кто-нибудь знает, лучше ли использовать один поверх другого (vhost.conf vs htaccess) с точки зрения производительности, стабильности и т. Д.?

Ответы [ 2 ]

3 голосов
/ 06 декабря 2010

Должно работать при добавлении шаблона с /, либо:

RewriteCond $1 !^(index\.php|images|scripts|css|uploads|robots\.txt)
RewriteRule ^/(.*)$ /index.php/$1 [L]

Или:

RewriteCond $1 !^/(index\.php|images|scripts|css|uploads|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

Недостаток файлов .htaccess заключается в том, что им фактически нужноинтерпретироваться с каждым запросом, в то время как конфигурация виртуального хоста интерпретируется один раз при запуске сервера.

1 голос
/ 06 декабря 2010

Гамбо ++

Я написал эту статью на httpd wiki, чтобы охватить подобные вопросы.

http://wiki.apache.org/httpd/RewriteContext

...