Laravel、web.phpのルーティングとコントローラーのつながりがよくわからない

##LaravelのRoutesとView、Controllerのつながりについての質問

####問題点、質問：htmlからリンクで指定したルーティングにデバックが通らない。(\<aタグ>GETメソッド)
Route::resourceは問題なく処理が通るのですが、追加で記述した
Route::get('/book/csvDownload','BookController@csvDownload')->name('book.csvDownload');
がうまく通りません。

デバッグで試してみるとRoute::resourceはコントローラー側に処理が通っているのに対し、追記したものはコントローラー側に処理が来ていません。


html(php)でリンク(\<a>タグ)先にアクセスするとき、ルーティングの設定(web.php)を基にコントローラーへ割り振っているという認識です。
また、開発環境にはeclipse(php,xampp)、webサーバにはapacheサーバを使っています。


###ルーティングの設定ファイル(web.php)
```php:web.php
use Illuminate\Support\Facades\Route;

//RouteResourceメソッドを使用することで、Restfulなルーティングを行うことができる
Route::resource('book','BookController');
/*この場合、以下のようにルーティングされます。
 * GET   |   /book           |   BookController@index    |一覧画面表示
 * GET   |   /book/{book}    |   BookController@show     |詳細画面表示
 * GET   |   /book/create    |   BookController@create   |登録画面表示
 * POST  |   /book           |   BookController@store    |登録処理
 * GET   |  /book/{book}/edit|   BookController@edit     |編集画面表示
 * PUT   |   /book/{book}    |   BookController@update   |編集処理
 * DELETE|  /book/{book}     |   BookController@destroy  |削除処理
 */
//問題のルーティング箇所
//このURLにアクセスされたときにcsvファイルに情報を出力する処理に飛ばす
Route::get('/book/csvDownload','BookController@csvDownload')->name('book.csvDownload');

```
###コントローラーファイル
```BookController.php
namespace App\Http\Controllers;
use App\Book;
use Illuminate\Http\Request;

/**
**
**前略
**
*/
 public function destroy($id){
        $book=Book::findOrFail($id);
        $book->delete();

        return redirect("/book");
    }

    public function create(){
        $book=new Book();
        return view('book/edit',compact('book'));
    }

    public function store(Request $request){
        $book = new Book();
        $book->name = $request->name;
        $book->price = $request->price;
        $book->author = $request->author;
        $book->save();

        return redirect("/book");
    }
//問題のメソッド
    public function csvDownload(){
        //データベースからすべてのデータを抽出
        $books=Book::all();

        //指定されたディレクトリ空のcsvファイルを生成
        $res = touch("C:\Users\y_takeuchi\Downloads\books.csv");

        if($res==false){
            rmdir("C:\Users\y_takeuchi\Downloads\books.csv");
            return redirect("/book");
        }

        //指定したパスのファイルを書き込みで開く
        $file = fopen('C:\Users\y_takeuchi\Downloads\books.csv','w');

        //csv作成
        fputcsv($file,['name','price','author']);
        foreach($books as $entity){
            fputcsv($file, [$entity->name,$entity->price,$entity->author]);
        }
        fclose($file);

        return redirect("/book");
```
###View
```index(.blade).php
<!DOCTYPE html>
<html>
<head>
<title>Laravel Sample</title>
<link rel="stylesheet"  href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="container ops-main">
	<div class="row">
		<div class="col-md-12">
			<h3 class="ops-title">書籍一覧</h3>
		</div>
	</div>
	<div class="row">
		<div class="col-md-11 col-md-offset-1">
			<table class="table text-center">
				<tr class="text-center">
					<th>ID</th>
					<th>書籍名</th>
					<th>価格</th>
					<th>著者</th>
					<th>削除</th>
				</tr>
				@foreach($books as $book)
				<tr>
					<td><a href="/sample/book/{{$book->id}}/edit">{{$book->id}}</a></td>
					<td>{{$book->name}}</td>
					<td>{{$book->price}}</td>
					<td>{{$book->author}}</td>
					<td>
						<form action="/sample/book/{{$book->id}}" method="post">
							<input type="hidden" name="_method" value="DELETE">
							<input type="hidden" name="_token" value="{{csrf_token()}}">
							<button type="submit" class="btn btn-xs btn-danger" aria-label="Left Align">
								<span class="glyphicon glyphicon-trash"></span>
							</button>
						</form>
					</td>
				</tr>
				@endforeach
			</table>

<!--問題の箇所
			<div><a href="/sample/book/create" class="btn btn-default">新規作成</a></div>
			<div><a href="/sample/book/csvDownload" class="btn btn-default">csvダウンロード</a></div>
-->		
            </div>
	</div>
</div>
</body>
</html>
<!-- Laravelではビューの作成にBladeというテンプレートを使っています。 -->
```
####試みたこと：
・キャッシュが残っているという情報があったので、```php artisan route:list```でクリーンしました。

・Route::resourceがあると、ほかのルーティングが通らないのかと思い、Route::resourceを
```Route::get('/book','BookController@index');
Route::get('/book/{book}','BookController@show');
Route::get('/book/create','BookController@create');
Route::post('/book','BookController@store');
Route::get('/book/{book}/edit','BookController@edit');
Route::put('/book/{book}','BookController@update');
Route::delete('/book/{book}','BookController@destroy');```
と書き直しました。すると、つぎは、```Route::get('/book/create','BookController@create');```も処理が通らなくなってしまいます。

・テンプレート側を\<a>タグではなく\<form>タグで送信しましたが、結果は同じく表示されませんでした。

・NotFound404にはならず、画面が遷移せずにその場にとどまったままURLだけ変わっています。

ご教授いただけるとありがたいです。

参考サイト引用：https://qiita.com/sano1202/items/6021856b70e4f8d3dc3d