こんにちは、私はかなりのURLのputputとURLに問題を抱えていますが、それは私のために働いていません。pretty urls laravel 5.4
私はすでに
Laravel 5.2 Pretty URLs、 Laravel 5 - Remove public from URL
とより類似したURLが、何が私のために働くように思わみました。
私はmod_rewriteのが上にあり、正常に動作していることを確認しているWAMP、Windows 8の
を使用しています。
ここにrootのhtaccessがあります。私も実際にルートフォルダにパブリックフォルダからhtacessを貼り付けてみましたし、パブリックフォルダから1を削除しますが、それは仕事をDINT
ているパブリックフォルダ内のテストで私のhtaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
発生するエラーは、私のルートファイルがすべてのパターンをスキップして、Route :: get( '/ api/login'、 'api @ login')のようなものがあると言う場合、publicを含むURLで動作しますが、 URLからすべてのパターンはスキップされます。そしてそれは私がすべてのリクエストがindex.phpを/公共と不思議な事は、私はそれが国民とURLに対するroutes.phpの中で
var_dump(Request::root());
を印刷するとき、それはhttp://localhost/folderName/subFolderName/publicを言いますが、ためにということです達していることを確認した404
を示し一般公開されていないURLはhttp://localhost/と言われています。これが私のルートファイルのパターンが機能していない理由です。
P.S.私はこれが正しく働くために設定する必要がある.htaccessだと思うので、laravel routes not working
の代わりにpretty urls laravel 5.4
というタイトルを設定しました。
私はこのような理由があると信じているので、フォルダ構造を変更したくありません。このためにいくつかの回避策があります。
vhostsの設定に関しては、サーバでこれを行うことはできません(私には権利がありません)ので、ログイン実行時にローカルで仮想ホストを設定することはありません。これを解決する必要があります。
ステフが、おかげで時間を取り出すためにこれを返信するには、rootでの.htaccessが、これは私のURLの両方に404を与えますすなわち、それを公開している、または公開していないURLです。 – Arpita
index.phpが見つからないとすれば、htaccessファイルのindex.phpへのパスを変更してみてください。まず、index.phpを削除してからpublicにしてみてください。両方のhtaccessファイルを同時に混乱させないでください。混乱するでしょう。 – stef