ここに私の手順と調査結果を書いているので、私が試したことと得た結果を確認できます。どんなアドバイスでも大歓迎です。この回答のコメントに従いました。
Windows 7 マシンでXAMMP バージョン 1.8.2 と PHP 5.4.19 および Apache 2.4.4を使用してLaravel 4を実行していますが、まだローカル インスタンスを起動して実行しようとしています。
私の場合:http://localhost/sos/sos_public/は私のメイン画面であり、それは機能しますが、取得しようとするとhttp://localhost/sos/sos_public/signup、このエラーが表示されます:Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpExceptionこれはネット上でよく話題になっています。それから、 GaryJが問題である可能性があると述べているのを見つけた.htaccessので、私は彼が提案したことをした。
私のファイルは次のようになります (私も前に/app/routes.phpこれを試しました):/signup
Route::get('signup', function()
{
return 'hello!';
});
Route::get('/', function()
{
return View::make('hello');
});
初め:
笑いのために、
/index.php/hello動作するかどうかを確認してください。もしそうなら、それは.htaccess問題です。
http://localhost/sos/sos_public/index.php/signup完全にうまくいきました。それで.htaccess問題です。
私の.htaccessファイルは次のようになりました:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
と:
を実行している場合は、以前のバージョンからの変更に注意してください。これは、仮想ホストのブロック
Apache 2.4に関してRequire all grantedおよびブロックAllowOverride all内 にあります。<Directory />...</Directory>
ダルトン・ゴアhttpd.conf fileの提案に従ってこれを追加しました-エラーが発生しました(このディレクトリパスをandに変更しました-同じ結果):Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException/SOS/sos_publicC:/xammp/htdocs/SOS/sos_public/C:/xammp/htdocs/SOS/sos_public
<Directory />
AllowOverride none
Require all denied
</Directory>
<Directory /SOS/sos_public>
AllowOverride all
Require all granted
</Directory>
次:
.htaccess何かが機能しているかどうかを確認する
ファイルに追加dsjkdsfghkするとすぐにエラーが発生したため、ファイルが使用されていることが.htaccessわかります。.htaccess
それで:
IfModule条件を削除してみてください。ホスト/仮想ホストにアクセスできるので、そうでない場合はすぐにそのモジュールを有効にできます。そのため、リクエストごとにチェックする必要はありません。.htaccess同様に、仮想ホストのブロックに移動してみて<Directory />...</Directory>ください。.htaccess に他に何もない場合は、削除することもできます。
- 空の
.htaccessファイルがある404と、ブラウザーでエラーが発生しましたhttp://localhost/sos/sos_public/signup(http://localhost/sos/sos_public/まだ機能していました)。 .htaccessからファイルを削除しC:\xampp\htdocs\SOS\sos_public\ても同じ結果になりました。
それで:
試す:
<VirtualHost *:80> DocumentRoot "/Users/amiterandole/Sites/laravelbackbone/public" ServerName laravelbackbone.dev <Directory /> AllowOverride all Require all granted </Directory> <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> </VirtualHost>
私はそれを行い、アミットのように、
htaccessファイルを空にして上記を試しましたが、何も機能していないようです。
彼がフォルダのルートをlaravelbackbone.dev指している場合を除いて、ブラウザで実行したときに両方を取得しました。SitesError 400 - Bad requesthttp://localhost/sos/sos_public/http://localhost/sos/sos_public/signup
私のhttpd-vhosts.confファイルは次のようになりました:
<VirtualHost *:80>
DocumentRoot "C:/xammp/htdocs/SOS/sos_public"
ServerName sos.dev
<Directory />
AllowOverride all
Require all granted
</Directory>
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
</VirtualHost>
私の .hosts ファイルには、明らかに次のものがありました。
127.0.0.1 sos.dev
最後に:
conf/extra/httpd-vhosts.confmain 内にファイルを含める (コメントを外す)ことは間違いありませんhttpd.conf。
私はこれをコメント解除しました - はい。
私が試した別のリンクは役に立たなかった: https://stackoverflow.com/a/17778222/956975とhttp://www.epigroove.com/blog/laravel-routes-not-working-make-sure-htaccess-is -働く
どこを何に変えればいいの?私は何が欠けていますか?