2

ここに私の手順と調査結果を書いているので、私が試したことと得た結果を確認できます。どんなアドバイスでも大歓迎です。この回答のコメントに従いました。

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/956975http://www.epigroove.com/blog/laravel-routes-not-working-make-sure-htaccess-is -働く

どこを何に変えればいいの?私は何が欠けていますか?

4

1 に答える 1