当我加载http://localhost/test
时,我会被重定向到http://localhost/public/?_url=/test
这是我的Apache配置。我还测试了以确保加载了rewrite_module。
DocumentRoot "/var/www/myapp/"
<Directory "/var/www/myapp/">
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
我使用Phalcon Dev Tools phalcon project myapp
创建了该项目。以下是它自动创建的两个.htaccess文件。
cat /var/www/myapp/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
cat /var/www/myapp/public/.htaccess
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
使用Phalcon 1.2.6,Apache / 2.2.24
答案 0 :(得分:0)
首先你的apache配置应该是
DocumentRoot "/var/www/myapp/public/"
<Directory "/var/www/myapp/public/">
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
其次,您的公共目录中应该有一个.htaccess文件,如下所示: -
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
我希望这可以解决这个问题。