我正在尝试在MAMP上运行一个带有Fat-Free Framework的php项目,在Yosemite 10.10.1上运行。 我在MAMP Web根文件夹“htdocs”中有所有项目文件,所有fatfree项目文件都位于fatfree-master目录中。
具体的dir位置是:htdocs / libs / FatFreeFramework / fatfree-master
我已成功将数据库导入phpmyadmin。它的大小为2.5mb,但在上传期间没有错误闪现,所以我认为大小根本不是问题!
我在apache&上设置了一个虚拟主机现在文件httpd-vhosts.conf看起来像这样:
ServerName localhost
DocumentRoot “/Applications/MAMP/htdocs”
<Directory "/Applications/MAMP/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All
</Directory>
ErrorLog /Applications/MAMP/logs/error.log
CustomLog /Applications/MAMP/logs/access.log合并
按照these指令启用mod重写,我编辑了.htaccess文件,现在它看起来像这样:
RewriteEngine On
RewriteBase / libs / FatFreeFramework / fatfree-master /
RewriteCond%{REQUEST_FILENAME}!-l
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule。* /libs/FatFreeFramework/fatfree-master/index.php [L,QSA]
我修改了重写基数以指向/ [dirname] /然后将RewriteRule更改为/ [dirname] /index.php
在httpd.conf中我将目录编辑为AllowOverride All,但我仍然无法在浏览器上运行该项目。
我注意到有两个.htaccess文件,一个在htdocs dir&amp;另一个是胖子大师的主人!
为了在fatfree-framework上启用mod重写,我必须编辑其中哪一个?
我是否正确指出了index.php的路径?
答案 0 :(得分:3)
只需使用此.htaccess即可。
RewriteEngine On
RewriteCond %{REQUEST_URI} \.ini$
RewriteRule \.ini$ - [R=404]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
答案 1 :(得分:1)
只有重要的.htaccess是您从浏览器访问的目录(在您输入localhost
后的情况下,它应该是htdocs
中的那个。
其次,如果您启用了 mod_rewrite ,请使用phpinfo()
功能进行检查。如果不是,请启用它。
最后,我认为您应该将RewriteBase
设置为/
。
您还可以尝试(因为我不确定)在Options +FollowSymLinks
之后立即添加RewriteEngine On
答案 2 :(得分:0)
您是否在Apache上启用了mod_rewrite模块?
我相信它存在于httpd.conf文件中,您需要取消注释LoadModule mod_rewrite
行。