ここに私の手順と調査結果を書いているので、私が試したことと得た結果を確認できます。どんなアドバイスでも大歓迎です。この回答のコメントに従いました。
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_public
C:/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
指している場合を除いて、ブラウザで実行したときに両方を取得しました。Sites
Error 400 - Bad request
http://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.conf
main 内にファイルを含める (コメントを外す)ことは間違いありませんhttpd.conf
。
私はこれをコメント解除しました - はい。
私が試した別のリンクは役に立たなかった: https://stackoverflow.com/a/17778222/956975とhttp://www.epigroove.com/blog/laravel-routes-not-working-make-sure-htaccess-is -働く
どこを何に変えればいいの?私は何が欠けていますか?