私のドメイン内のサブフォルダにLaravelアプリケーションを提供したいと考えていますmydomain.com/project1
。 routes.phpはどのように書くべきですか?Laravelをサブフォルダに使用する場合のルートの作成方法
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', ['middleware' => 'auth','uses' => '[email protected]'])->name('home');
// Authentication
Route::get('auth/login', 'Auth\[email protected]');
Route::post('auth/login', 'Auth\[email protected]');
Route::get('auth/logout', 'Auth\[email protected]');
// Administração
Route::group(['prefix' => 'administracao', 'middleware' => 'auth'], function() {
Route::resource('filiais', 'FiliaisController');
Route::resource('precos', 'PrecosController');
Route::resource('funcionarios', 'FuncionariosController');
Route::resource('cargos', 'CargosController');
Route::resource('vendedores', 'VendedoresController');
});
// Comercial
Route::group(['prefix' => 'comercial', 'middleware' => 'auth'], function() {
Route::resource('clientes', 'ClientesController');
Route::resource('fichas', 'FichasController');
});
// Operacional
Route::group(['prefix' => 'operacional', 'middleware' => 'auth'], function() {
Route::resource('agenda', 'AgendaController');
Route::resource('os', 'OsController');
Route::resource('ambientes', 'AmbientesController');
Route::resource('processos', 'ProcessosController');
Route::get('relatorios', '[email protected]');
Route::get('relatorios/word/{os}', '[email protected]');
Route::get('relatorios/excel/{os}', '[email protected]');
Route::get('relatorios/create', '[email protected]');
Route::group(['prefix' => 'processo', 'middleware' => 'auth'], function() {
Route::get('create', '[email protected]');
Route::get('index', '[email protected]');
Route::post('{os}/parse', '[email protected]');
Route::get('{os}', '[email protected]');
Route::match(['get', 'post'], '{os}/detalhe', '[email protected]detalhe');
Route::get('{os}/duplicidades', '[email protected]');
Route::get('{os}/restantes', '[email protected]');
Route::match(['get', 'post'], '{os}/auditoria', '[email protected]');
Route::match(['get', 'post'], '{os}/operadores', '[email protected]');
Route::match(['get', 'post'], '{os}/divergencia', '[email protected]');
Route::match(['get', 'post'], '{os}/finalizar', '[email protected]');
Route::get('{os}/excluir/{setor}', '[email protected]');
});
});
をそして、私は任意のURLのためにNotFoundHttpException in RouteCollection
を得る:私はこのようなものを使用しています。私はまた、ルートプレフィックスRoute::group(['prefix' => 'subfolder'], function() {...}
を追加しようとしましたが、それはまだ私は私のhtaccessファイルを編集していないと、それはだ
EDIT
を認識しません:
<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]
</IfModule>
*あなたの 'project1'フォルダ内に*アプリケーションをインストールしましたか? – Marcus
yep ..私は 'project1'フォルダにパブリックフォルダをコピーし、私のアプリケーションの残りの部分はpublic_htmlの外にコピーした後、フレームワークフォルダに一致するようにパブリックフォルダからindex.phpを編集しました –
mydomain.com/project1/publicを試してください –