Платформа: Mac OSX Maverics
Веб-сервер: встроенный apache с mod-rewrite, включенный php5_module
Шаги для воспроизведения:
http://localhost/~username/bolt
заметил 404 «/ bolt / bolt / users / edit не существует на этом сервере»Я попытался переместить каталог bolt в основной корень документа, обозначенный в httpd.conf, с точно такими же результатами.
Пожалуйста, сообщите, почему я не могу запустить ваше приложение, следуя всем инструкциям. Все советы очень ценятся.
Скорее всего, где-то проблема с Apache или с mod_rewrite.
Поскольку перенаправление в / bolt / bolt / users / edit происходит, мы знаем, что приложение загружается нормально, поэтому нужно просто отсортировать перенаправления.
Вот настройка Apache, которая работает на OSX и упрощает добавление других сайтов. Откройте файл, найденный по адресу:
/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
У меня была эта проблема при развертывании приложения с болтом на 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
После этих изменений первая страница входа работала нормально.
Журнал ошибок Apache: / Пользователи / имя пользователя / Сайты / болт / болт не существует
Это означает, что он не отвечает на переписывание. Вы уверены, что mod_rewrite работает правильно?
Я также использую OSX для разработки, и я использую MAMP или XAMPP. Им гораздо удобнее пользоваться, чем встроенным сервером OSX, imho.
В частности, в вопросе говорится, что на их сервере включен mod_rewrite, но я хотел бы подчеркнуть, что на вашей машине это может быть не так. В моем случае mod_rewrite не был включен. Бег sudo a2enmod rewrite
исправил проблему.
Я не привык иметь дело со встроенным сервером Apache, но я также работаю с MAMP и у меня были похожие проблемы на нескольких онлайн-серверах.
Если у меня появляется сообщение об ошибке, я просто должен установить нужную версию PHP с
SetEnv PHP_VER 5_4
Если у меня есть 404 на пользователей / редактировать, то мне нужно сопоставить реестр
AddType x-mapp-php5.4 .php
AddHandler x-mapp-php5.4 .php
Это может быть не совсем то, что вы испытываете, но на случай, если это поможет …