平台:Mac OSX Maverics
Web服务器:带有mod-rewrite的内置apache,启用了php5_module
重新制作的步骤:
http://localhost/~username/bolt
观察到的404“/ bolt / bolt / users / edit在此服务器上不存在”我试图将bolt目录移动到httpd.conf中表示的主Document Document,结果完全相同。
请告知我为什么在给出所有说明的情况下无法运行您的应用。非常感谢所有建议。
答案 0 :(得分:3)
将部署螺栓应用程序部署到amazon ec2时出现此问题。
这使我的工作成为可能:
1)编辑http.conf:
sudo nano /etc/httpd/conf/http.conf
2)在两个部分中将“AllowOverride None”更改为“AllowOverride All”:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
3)重启httpd:
sudo service httpd restart
在这些更改之后,第一个登录页面工作正常。
答案 1 :(得分:2)
很可能在某处使用Apache或使用mod_rewrite处理配置问题。
由于重定向到/ bolt / bolt / users / edit,我们知道应用程序正在加载,所以只需要对重定向进行排序。
这是一个适用于OSX的Apache设置,使您可以更轻松地添加更多站点。打开找到的文件: /etc/apache2/users/.conf
确保其中包含以下行:
NameVirtualHost *:80
<VirtualHost *:80>
VirtualDocumentRoot /Users/<user>/Sites/%1/public
UseCanonicalName Off
SetEnv ENV development
<Directory /Users/<user>/Sites>
Order allow,deny
Allow from all
</Directory>
<Directory /Users/<user>/Sites/*/public>
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
AllowOverride All
</Directory>
FallbackResource /index.php
</VirtualHost>
注意更换每个实例:
<user>
使用您的用户名。
然后重启apache,您可以将任何网站放在〜/ Sites // public
中它将服务于任何网站:
<site>.dev
来自
~/Sites/<site>/public
答案 2 :(得分:2)
Apache错误日志报告:/ Users / username / Sites / bolt / bolt不存在
这意味着它没有接受重写。你是积极的mod_rewrite工作正常吗?
我也使用OSX开发,我正在使用MAMP或XAMPP。它们比OSX的内置服务器imho更友好。
答案 3 :(得分:1)
问题具体说明他们的服务器已启用mod_rewrite,但我想强调一下,这可能不适用于您的计算机。就我而言,mod_rewrite未启用。正在运行sudo a2enmod rewrite
解决了问题。
答案 4 :(得分:0)
我不习惯处理内置的Apache服务器,但我也和MAMP合作,在几台在线服务器上遇到过类似的麻烦。
如果我有错误消息,那么我只需要设置我需要的PHP版本
SetEnv PHP_VER 5_4
如果我有404用户/编辑,那么我需要映射注册表
AddType x-mapp-php5.4 .php
AddHandler x-mapp-php5.4 .php
这可能与您所遇到的不完全相同,但万一它有帮助...