REQUEST_URI не отменяется с помощью APACHE RewriteRule?

Проблема:

Я использую Kohana / PHP для разработки размещенного веб-сайта для других компаний. Я прошу клиента ввести запись CNAME в свой DNS-сервер, чтобы указать на мой домен. Например. http://invites.somecompany.com указывает на http://www.mydomain.com .

Таким образом, % {HTTP_HOST} запись на моем сервере Apache - invites.somecompany.com

Я хочу переписать http://invites.somecompany.com/invite на http://www.mydomain.com / invites / invites

Несмотря на то, что Apache, кажется, делает это, $ _SERVER ['REQUEST_URI'] по-прежнему "/". Проблема в том, что Kohana использует $ _ SERVER ['REQUEST_URI'] для направления запроса на соответствующий код контроллера. В этом случае он направляет его в контроллер индекса base вместо контроллера « invites ».

Факты:

Директивы Apache mod_rewrite, которые я использую (в файл .htaccess): -

RewriteCond %{HTTP_HOST} !^www.mydomain.com$
RewriteCond %{REQUEST_URI} !.*invites.*
RewriteRule ^(.*)$ invites/$1

# For Kohana
RewriteRule .* index.php?kohana_uri=$0 [PT,QSA,L]

в index.php, я делаю:

var_dump($_SERVER);

и получаю:

'REQUEST_URI' => string '/',
'QUERY_STRING' => string 'kohana_uri=invites/index.php&kohana_uri=invites/invite'
'REDIRECT_QUERY_STRING' => string 'kohana_uri=invites/invite'

Итак, mod_rewrite не изменяет REQUEST_URI?

Потребность:

'REQUEST_URI' => 'invites/invite',
'QUERY_STRING' => string 'kohana_uri=invites/invite',

Как мне получить это?

====================== Изменить

Переписать записи журнала: -

strip per-dir prefix: /Users/project/invite -> invite
 applying pattern '^(?:application|modules|system)\b.*' to uri 'invite'
 strip per-dir prefix: /Users/project/invite -> invite
 applying pattern '\.git' to uri 'invite'
 strip per-dir prefix: /Users/project/invite -> invite
 applying pattern '^(.*)$' to uri 'invite'
 rewrite invite -> invites/invite
 add per-dir prefix: invites/invite -> /Users/project/invites/invite
 strip per-dir prefix: /Users/project/invites/invite -> invites/invite
 applying pattern '.*' to uri 'invites/invite'
 rewrite invites/invite -> index.php?kohana_uri=invites/invite
 add per-dir prefix: index.php -> /Users/project/index.php
 strip document_root prefix: /Users/project/index.php -> /index.php
 internal redirect with /index.php [INTERNAL REDIRECT]
 strip per-dir prefix: /Users/project/index.php -> index.php
 applying pattern '^(?:application|modules|system)\b.*' to uri 'index.php'
 strip per-dir prefix: /Users/project/index.php -> index.php
 applying pattern '\.git' to uri 'index.php'
 strip per-dir prefix: /Users/project/index.php -> index.php
 applying pattern '^(.*)$' to uri 'index.php'
 rewrite index.php -> invites/index.php
 add per-dir prefix: invites/index.php -> /Users/project/invites/index.php
 strip per-dir prefix: /Users/project/invites/index.php -> invites/index.php
 applying pattern '.*' to uri 'invites/index.php'
 rewrite invites/index.php -> index.php?kohana_uri=invites/index.php
 add per-dir prefix: index.php -> /Users/project/index.php
 initial URL equal rewritten URL: /Users/project/index.php [IGNORING REWRITE]

10
задан Ajoy 3 May 2011 в 04:13
поделиться