Rewrite-rules вызывает «неправильный запрос» при помещении в файл виртуального хоста - PullRequest
2 голосов
/ 28 ноября 2011

Мой клиентский веб-хостинг настаивает на размещении Rewrite-правил для сайта в файле виртуального хоста, но это приводит к ошибке «Неверный запрос». Хотя, когда я размещаю те же правила в .htaccess на моем локальном сервере и других подобных сайтах, это работает отлично. Вот правила:

    RewriteRule ^api/ index_rest.php [L]
    RewriteRule ^index_rest.php - [L]
    RewriteRule ^([^/]+/)?content/treemenu.* index_treemenu.php [L]
    RewriteRule ^var/([^/]+/)?storage/images(-versioned)?/.* - [L]
    RewriteRule ^var/([^/]+/)?cache/(texttoimage|public)/.* - [L]
    RewriteRule ^design/[^/]+/(stylesheets|images|javascript)/.* - [L]
    RewriteRule ^share/icons/.* - [L]
    RewriteRule ^extension/[^/]+/design/[^/]+/(stylesheets|flash|images|lib|javascripts?)/.* - [L]
    RewriteRule ^packages/styles/.+/(stylesheets|images|javascript)/[^/]+/.* - [L]
    RewriteRule ^packages/styles/.+/thumbnail/.* - [L]
    RewriteRule ^var/storage/packages/.* - [L]
    RewriteRule ^favicon.ico - [L]
    RewriteRule ^design/standard/images/favicon.ico - [L]
    RewriteRule ^robots.txt - [L]
    RewriteRule ^w3c/p3p.xml - [L]
    RewriteRule .* index.php

Мой хост дал мне журнал ошибок, который расположен здесь , но я не могу определить проблему. Любая помощь с благодарностью.

1 Ответ

4 голосов
/ 28 ноября 2011

При использовании в контексте VirtualHost необходимо использовать начальные косые черты.

В контексте VirtualHost шаблон будет изначально сопоставлен с часть URL после имени хоста и порта, а также перед запросом строка (например, "/app1/index.html").

То есть ^... должно быть ^/...

...