Laravel 5漂亮的网址不适用于wamp

时间:2015-04-26 08:42:45

标签: php laravel laravel-5

我是Laravel的新手,我正在使用wamp在一个小项目上工作。我遇到了漂亮的URL部分的问题,我刚刚想到了它。

但现在我遇到了一个奇怪的问题。我在 laravel-first-app 目录下创建了我的应用程序。 当我尝试请求页面(文章)时, http://localhost/laravel-first-app/public/index.php/cv ,它会显示页面。

但现在,如果我请求一个页面,例如 http://localhost/laravel-first-app/public/cv ,则表示未找到网址错误。

以下是我所做的简要描述。

在我的routes.php中

Route::get('/', 'WelcomeController@index');

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);

Route::resource('articles','ArticlesController');
Route::get('articles/delete/{article_id}','ArticlesController@destroy');

Route::get('cv','CvController@index');
Route::get('cv/upload','CvController@upload');
Route::post('cv','CvController@store');

在我的CvController中

<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;

class CvController extends Controller {

    private $pathToCV;
    private $fileName;

    public function __construct()
    {
        $this->pathToCV="cv/";
        $this->fileName='piyush_cv.doc';
    }
    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
        return response()->download($this->pathToCV.$this->fileName);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return Response
     */
    public function upload()
    {
        return view('cv.upload');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response
     */
    public function store(Request $request)
    {
        dd($request);
        if($request->hasFile('cv'))
        {
            $file = $request->file('cv');
            $file->move($this->pathToCV,$this->fileName);
            flash()->overlay('File Uploaded','Thanks for uploading the file');
            return redirect('cv/upload');
        }
        flash()->overlay('File was not selected','');
        return redirect('cv/upload');

    }

}

在.htaccess中我有:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

另外,对于我的wamp,我启用了 mod_rewrite 模块。

你可以帮我解决这个问题吗?我想使用网址 http://localhost/laravel-first-app/public/cv 而不是 http://localhost/laravel-first-app/public/index.php/cv

请帮忙。

2 个答案:

答案 0 :(得分:0)

转到项目文件夹,打开终端然后运行https://localhost:8000/articles它将启动localhost:8000或类似的内容,然后只需转到{{1}}以获取所需的页面

答案 1 :(得分:0)

我仔细查看了应用程序结构,我发现了问题所在。

现在,我解决了这个问题,而且每件事情都运转正常。

在Controller,CvController中,我发送了一个目录CV,路径名也是CV,所以它表现得很奇怪。

如果您需要详细解决方案,请与我们联系。

非常感谢。