2

プラットフォーム: Mac OS X マーベリックス

Web サーバー: mod-rewrite、php5_module が有効になっている組み込みの apache

再現手順:

  • cd /ユーザー/ユーザー名/サイト/
  • mkdir ボルト chmod a+rx ボルト
  • ボルト zip ディストリビューションをダウンロードする
  • tar -xzf Bolt_latest.tgz
  • chmod -R 777 ファイル/ app/database/ app/cache/ app/config/ theme/
  • ボルトディレクトリ内にtest.phpを作成してPHPが有効になっていることを確認し、ブラウザからアクセスして、すべてOK
  • http://localhost/~username/bolt観測された 404 "/bolt/bolt/users/edit はこのサーバーに存在しません"にアクセスしようとしました
  • .htaccess 操作は何も変更しませんでした (書き換えを有効にするなど)
  • Apache エラー ログ レポート: /Users/username/Sites/bolt/bolt が存在しません

ボルト ディレクトリを httpd.conf に示されているメインのドキュメント ルートに移動しようとしましたが、結果はまったく同じでした。

すべての指示に従ってアプリを実行できない理由を教えてください。すべてのアドバイスは大歓迎です。

4

5 に答える 5

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

これらの変更の後、最初のログイン ページは正常に機能しました。

于 2015-04-05T04:46:30.427 に答える
2

Apache エラー ログ レポート: /Users/username/Sites/bolt/bolt が存在しません

これは、書き換えに対応していないことを意味します。mod_rewrite が正しく動作していると確信していますか?

私は開発にもOSXを使用しており、MAMPまたはXAMPPを使用しています。OSXの組み込みサーバーであるimhoよりもはるかに使いやすいです。

于 2014-10-15T07:43:37.833 に答える
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
于 2014-10-15T07:41:31.740 に答える
1

質問は、サーバーで mod_rewrite が有効になっていると具体的に述べていますが、これがあなたのマシンには当てはまらない可能性があることを強調したかったのです。私の場合、mod_rewrite は有効になっていませんでした。実行sudo a2enmod rewriteすると問題が修正されました。

于 2017-01-08T05:52:44.387 に答える
0

私は組み込みの Apache サーバーを扱うことに慣れていませんが、MAMP も使用しており、いくつかのオンライン サーバーで同様の問題が発生しています。

エラー メッセージが表示された場合は、必要な PHP バージョンを設定するだけです。

SetEnv PHP_VER 5_4

users/edit に 404 がある場合は、レジストリをマップする必要があります

AddType x-mapp-php5.4 .php
AddHandler x-mapp-php5.4 .php 

これはまさにあなたが経験していることではないかもしれませんが、念のために助けてください...

于 2014-11-10T16:46:21.033 に答える