我的目的是加快蛋糕应用程序的性能。我从我的蛋糕应用程序中复制了所有.htaccess文件,尽管configtest说一切正常,但在尝试加载页面时仍然出现内部服务器错误。这是从应用程序目录中引入.htaccess文件的正确方法吗?
<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 :(得分:1)
.htaccess文件是有效的apache conf语法,因此原则上您需要做的就是将htaccess文件的内容复制并粘贴到正确的位置。但是不要盲目地这样做。
这更适合处理您的kwiksta.com - &gt; 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文件夹,因为它应该是the asset pipeline docs,这使得3个htaccess文件中的2个无关紧要。
请确保重写规则与您正在使用的CakePHP版本相匹配any and all production installs changed over。