/ / Como posso obter o meu aplicativo FuelPHP trabalhando em um subdiretório? - apache, .htaccess, fuelphp

Como posso obter meu aplicativo FuelPHP trabalhando em um subdiretório? - apache, .htaccess, fuelphp

Eu tenho um aplicativo FuelPHP que estou tentando configurar para estender um site existente (vamos chamá-lo example.com). A instalação do FuelPHP está em um diretório chamado listings dentro do DocumentRoot. No entanto, o principal index.php arquivo para o aplicativo está localizado em um subdiretório de listings chamado public, então o caminho real para o index.php arquivo é <DocumentRoot>/listings/public/index.php. Os recursos estáticos (JavaScript, CSS e imagens) para o aplicativo estão em subdiretórios do public diretório também.

Eu quero que as pessoas possam acessar o aplicativo em /properties. Além disso, haverá solicitações feitas para outras páginas (como /properties/admin), bem como solicitações de ativos estáticos (como /properties/assets/css/style.css).

Eu tenho essa coisa de 90% de trabalho. .htaccess arquivo no DocumentRoot se parece com isso:

RewriteEngine On
RewriteRule ^properties/?(.*)$ /listings/public/index.php/$1 [L]

Dentro de public diretório, existe outra .htaccess arquivo que se parece com isso:

Options +FollowSymLinks -Indexes
RewriteEngine on

# Send request via index.php (not if its a real file or folder)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Eu definir o $base_url na configuração FuelPHP para http://example.com/properties/. Todas as URLs dos ativos estáticos estão aparecendo da maneira que eu esperaria, por exemplo, o caminho para o meu bootstrap.css arquivo aparece como http://example.com/properties/assets/css/bootstrap.css. Isso é o que eu espero. No entanto, em vez de o Apache pegar o ativo estático, ele está executando a solicitação através do FuelPHP index.php arquivo, resultando em um 404.

Eu acho que preciso adicionar um RewriteCond ao .htaccess arquivo que está no DocumentRoot, mas eu não sei exatamente se isso é correto, ou o que isso RewriteCond pareceria.

Como faço para ajustar meu .htaccess arquivo (s) para que eu possa acessar ativos estáticos como http://indyapm.com/properties/assets/css/bootstrap.css que está localizado na <DocumentRoot>/listings/public/assets/css/bootstrap.css?

Respostas:

1 para resposta № 1

Eu acredito que o que você quer é um RewriteBase

RewriteEngine On # after this
RewriteBase /properties/ # insert this

Isso, ter sua configuração principal configurada com o URL base correto, deve funcionar.