php - Phalcon 使用Apache重写模块失败
PHPz
PHPz 2017-04-10 15:32:50
[PHP讨论组]

初步接触Phalcon,跟着官方文档写代码
文件结构与官方一致

tutorial/
  app/
    controllers/
    models/
    views/
  public/
    css/
    img/
    js/

分别在根目录和public目录添加了.htaccess文件
代码分别如下:

./htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  ^$ public/    [L]
    RewriteRule  (.*) public/$1 [L]
</IfModule>
./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>

按照官方文档,在浏览器地址栏输入localhost/tutorial/是可以访问到public/index.php文件的
但是我输入localhost/tutorial 会提示

Forbidden

You don't have permission to access /tutorial/ on this server.

直接输入localhost/tutorial/public/index.php 可以正常访问,也可以显示该有的内容

我的apache版本是2.4.10,配置文件已经修改成了

 DocumentRoot "/Users/anneason/www/"                                
<Directory "/Users/anneason/www/">

Options FollowSymLinks Multiviews
MultiviewsMatch Any
AllowOverride All
Order deny,allow
Allow from all

</Directory>

修改访问权限之后还是无法访问,并提示上述“没有权限”的信息

遇到这种问题该如何解决,已困扰多时,求帮助,谢谢 :)

PHPz
PHPz

学习是最好的投资!

全部回复(2)
怪我咯

OSX

自己检测phpinfo(),是否开启mod_rewrite

结果发现没有开启

然后开启重启就可以了

谢谢O(∩_∩)O

迷茫

我猜你apache是2.0的吧;
如果是Apache 2.0 Handler;比如Mac自带的就是这版本;
那么就到Apache下面找到httpd.conf,然后把以下这段加进去:

# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号