当我点击讨论或论坛主页上的任何其他链接时,我需要帮助我截断聊天论坛链接的截断方式。
非常感谢快速解决方案。Kindly Check the URL
以下是一个例子:
而不是;
本地主机/应用/学校/论坛/讨论
显示为:
本地主机/论坛/讨论
以下是Route / web.php
<?php
/**
* Helpers.
*/
// Route helper.
$route = function ($accessor, $default = '') {
return $this->app->config->get('chatter.routes.'.$accessor, $default);
};
// Middleware helper.
$middleware = function ($accessor, $default = []) {
return $this->app->config->get('chatter.middleware.'.$accessor, $default);
};
// Authentication middleware helper.
$authMiddleware = function ($accessor) use ($middleware) {
return array_unique(
array_merge((array) $middleware($accessor), ['auth'])
);
};
/*
* Chatter routes.
*/
Route::group([
'as' => 'chatter.',
'prefix' => $route('home'),
'middleware' => $middleware('global', 'web'),
'namespace' => 'DevDojo\Chatter\Controllers',
], function () use ($route, $middleware, $authMiddleware) {
// Home view.
Route::get('/', [
'as' => 'home',
'uses' => 'ChatterController@index',
'middleware' => $middleware('home'),
]);
// Single category view.
Route::get($route('category').'/{slug}', [
'as' => 'category.show',
'uses' => 'ChatterController@index',
'middleware' => $middleware('category.show'),
]);
/*
* Auth routes.
*/
// Login view.
Route::get('login', [
'as' => 'login',
'uses' => 'ChatterController@login',
]);
// Register view.
Route::get('register', [
'as' => 'register',
'uses' => 'ChatterController@register',
]);
/*
* Discussion routes.
*/
Route::group([
'as' => 'discussion.',
'prefix' => $route('discussion'),
], function () use ($middleware, $authMiddleware) {
// All discussions view.
Route::get('/', [
'as' => 'index',
'uses' => 'ChatterDiscussionController@index',
'middleware' => $middleware('discussion.index'),
]);
// Create discussion view.
Route::get('create', [
'as' => 'create',
'uses' => 'ChatterDiscussionController@create',
'middleware' => $authMiddleware('discussion.create'),
]);
// Store discussion action.
Route::post('/', [
'as' => 'store',
'uses' => 'ChatterDiscussionController@store',
'middleware' => $authMiddleware('discussion.store'),
]);
// Single discussion view.
Route::get('{category}/{slug}', [
'as' => 'showInCategory',
'uses' => 'ChatterDiscussionController@show',
'middleware' => $middleware('discussion.show'),
]);
// Add user notification to discussion
Route::post('{category}/{slug}/email', [
'as' => 'email',
'uses' => 'ChatterDiscussionController@toggleEmailNotification',
]);
/*
* Specific discussion routes.
*/
Route::group([
'prefix' => '{discussion}',
], function () use ($middleware, $authMiddleware) {
// Single discussion view.
Route::get('/', [
'as' => 'show',
'uses' => 'ChatterDiscussionController@show',
'middleware' => $middleware('discussion.show'),
]);
// Edit discussion view.
Route::get('edit', [
'as' => 'edit',
'uses' => 'ChatterDiscussionController@edit',
'middleware' => $authMiddleware('discussion.edit'),
]);
// Update discussion action.
Route::match(['PUT', 'PATCH'], '/', [
'as' => 'update',
'uses' => 'ChatterDiscussionController@update',
'middleware' => $authMiddleware('discussion.update'),
]);
// Destroy discussion action.
Route::delete('/', [
'as' => 'destroy',
'uses' => 'ChatterDiscussionController@destroy',
'middleware' => $authMiddleware('discussion.destroy'),
]);
});
});
/*
* Post routes.
*/
Route::group([
'as' => 'posts.',
'prefix' => $route('post', 'posts'),
], function () use ($middleware, $authMiddleware) {
// All posts view.
Route::get('/', [
'as' => 'index',
'uses' => 'ChatterPostController@index',
'middleware' => $middleware('post.index'),
]);
// Create post view.
Route::get('create', [
'as' => 'create',
'uses' => 'ChatterPostController@create',
'middleware' => $authMiddleware('post.create'),
]);
// Store post action.
Route::post('/', [
'as' => 'store',
'uses' => 'ChatterPostController@store',
'middleware' => $authMiddleware('post.store'),
]);
/*
* Specific post routes.
*/
Route::group([
'prefix' => '{post}',
], function () use ($middleware, $authMiddleware) {
// Single post view.
Route::get('/', [
'as' => 'show',
'uses' => 'ChatterPostController@show',
'middleware' => $middleware('post.show'),
]);
// Edit post view.
Route::get('edit', [
'as' => 'edit',
'uses' => 'ChatterPostController@edit',
'middleware' => $authMiddleware('post.edit'),
]);
// Update post action.
Route::match(['PUT', 'PATCH'], '/', [
'as' => 'update',
'uses' => 'ChatterPostController@update',
'middleware' => $authMiddleware('post.update'),
]);
// Destroy post action.
Route::delete('/', [
'as' => 'destroy',
'uses' => 'ChatterPostController@destroy',
'middleware' => $authMiddleware('post.destroy'),
]);
});
});
});
/*
* Atom routes
*/
Route::get($route('home').'.atom', [
'as' => 'chatter.atom',
'uses' => 'DevDojo\Chatter\Controllers\ChatterAtomController@index',
'middleware' => $middleware('home'),
]);
答案 0 :(得分:0)
您需要将根目录设置为指向laravel中的public
文件夹,以便重写URL工作,当您使用xampp / wamp并访问url like folder结构时,这不会发生。只有laravel app的索引页面才有效,其他页面会抛出错误。此外,由于laravel使用基本应用程序URL,因此生成的链接不准确。
您应该运行php artisan serve
并使用http://localhost:8000
访问您的应用。这解决了您的路由和网址生成问题。另一种选择是修改本地安装中的虚拟主机,这并不容易。