2015-09-17 18 views
2

Мое намерение - ускорить работу приложения для торта. Я скопировал все файлы .htaccess из своего приложения для торта, и, несмотря на то, что в configtest говорится, что все в порядке, я все равно получаю внутреннюю ошибку сервера при попытке загрузить страницу. Это правильный способ вносить файлы .htaccess из каталога приложений?Переместить все конфигурации .htacces в cakephp на виртуальный хост Apache

<Directory /var/www/html/aga-stag> 
    Options Includes FollowSymLinks 
    Require all granted 
    AllowOverride None 
    Order deny,allow 
    Allow from all 


    <IfModule mod_rewrite.c> 
     RewriteEngine on 
     RewriteBase/

     RewriteCond %{HTTP_HOST} ^kwiksta\.com [NC] 
     RewriteRule ^(.*)$ http://www.kwiksta.com/$1 [L,R=301] 

     RewriteRule ^(red5|oflaDemo) - [L] 

     RewriteRule ^$ app/webroot/ [L] 

     RewriteRule (.*) app/webroot/$1 [L] 
    </IfModule> 

    <IfModule mod_rewrite.c> 
     RewriteEngine on 
     RewriteBase /app/ 
     RewriteRule ^$ webroot/ [L] 
     RewriteRule (.*) webroot/$1 [L] 
    </IfModule> 

    <IfModule mod_rewrite.c> 
     RewriteEngine On 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
    </IfModule> 
</Directory> 
+0

Возможно, было бы полезно, если бы вы включили ошибку в свой вопрос. Что он говорит в журналах Apache? – drmonkeyninja

ответ

1

файлов .htaccess действительны синтаксис апача конф, поэтому, в принципе, все, что вам нужно сделать, это скопировать и вставить содержимое файла .htaccess в в нужное место. Однако не слепо сделать это.

Это больше подходит для обработки Вашего kwiksta.com -> www.kwiksta.com перенаправляет:

<VirtualHost *:80> 

    ServerName kwiksta.com 

    RewriteEngine On 
    RewriteRule^http://www.kwiksta.com{REQUEST_URI} [R=301,L] 

</VirtualHost> 

Этот фрагмент кода:

RewriteRule ^(red5|oflaDemo) - [L] 

Лучше обрабатывается просто положить (или символические ссылки) эти папки (при условии, что они есть) в webroot

И это все, что требуется для обработки вашего приложения CakePHP:

<VirtualHost *:80> 

    DocumentRoot /var/www/html/aga-stag/app/webroot 
    ServerName www.kwiksta.com 
    AllowOverride None # No need for htaccess files now 

    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

</VirtualHost> 

Обратите внимание, что корень документа указывает на папку webroot, как и для any and all production installs, что делает 2 из 3 файлов htaccess неуместными.

Убедитесь, что правила перезаписи соответствуют версии CakePHP, которую вы используете, как они changedovertime.