4

http.confのmodrewriteはコメントなしです

したがって、#laravelの誰かがカスタムルートを機能させていないのは、modrewriteが機能していないためだと述べています。これが私の設定です。

laravel.confのコードは次のとおりです。

Alias /laravel/ "C:\BitNami/frameworks/laravel/public/"
Alias /laravel "C:\BitNami/frameworks/laravel/public"

<Directory "C:\BitNami/frameworks/laravel/public">
Options +MultiViews
AllowOverride None
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>

これらの行のコメントを外すと、次のようになります。

#RewriteEngine On
#RewriteRule ^/$ /laravel/ [PT]

その後、メインルートはにマップされます

http://localhost/ 

それよりも

http://localhost/laravel 

これは望ましいですが、主な問題の二次的なものです

パブリックフォルダ内の.htaccessには次のものがあります。

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
RewriteEngine On
 RewriteBase /laravel
 </IfModule>

 <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

これがroutes.php内の私のテストコードです:

Route::get('test',function(){
return 'test worked';
});

これはで解決する必要があります

http://localhost/laravel/test 

しかし、代わりに404エラーが発生します

4

2 に答える 2

0

RewriteBase と RewriteEngine は 2 回定義されています。.htaccess ファイルを次のようにします。

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /laravel
</IfModule>

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

可能であれば、代わりに Apache 仮想ホストを使用することをお勧めします。

于 2013-02-10T13:08:31.847 に答える