总结
豆包 AI 助手文章总结

Phalcon 使用Apache重写模块失败

php中文网
发布: 2016-06-06 20:35:35
原创
1408人浏览过

初步接触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>
登录后复制
登录后复制

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

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

回复内容:

初步接触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>
登录后复制
登录后复制

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

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

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>
登录后复制
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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