Estoy haciendo pruebas para aplicar Ajax en Laravel y me encuentro en el siguiente atasco:
Parto de:

Route::get('aj',function (){
return view('trabajo3.admon.a');
});

En el fichero a.blade (carpeta views/trabajo3/admon) tengo este código (reflejo lo que interesa):
@php
$start = isset($_GET["start"]) ? (int)$_GET["start"]:0;
$genero =isset($_GET["genero"])?$_GET["genero"]:false;
if(isset($_GET["start"]) and isset($_GET["genero"]))
@endphp
<script type="text/javascript"> showGenre($_GET["genero"],$_GET["start"])</script>
<div id="resultado"></div>

en el que aplico Ajax aplicando una función:
function showGenre(str,str2) {
document.getElementById("resultado").innerHTML = this.responseText;
xmlhttp.open("GET","b.php?genero="+str+"&start="+str2,true);
xmlhttp.send();}

Para que me ejecute el archivo"b.php", he tenido que guardarlo en la carpeta public ¿Por qué?
Haciéndolo así consigo insertar correctamente los “echos” de b en el div id"resultado" de a.blade.


En b.php genero un icono para paginar mediante un "a href" que llama a la ruta c:
echo "<a href=http:/MiSitio/proyectosLaravel/laravel/public/c?start=". min($start+$_SESSION['tamPag'],$numReg)."genero=".$genero."><img src=imagenes/arrow_right.png width=30px height=30px></a>";

Ejecuto la ruta c para que vuelva a ejecutar a.blade y se reinicie el ciclo de paginación :
Route::get('c/{start}/{genero}',function ($start,$genero){
Return view('trabajo3.admon.a',['start'=>$start,'genero'=>$genero]);
});

Cuando pulso el icono del href, aparece entonces el mensaje de error:
Sorry, the page you are looking for could not be found.
NotFoundHttpException in RouteCollection.php line 161:

Sin embargo en la ventana de dirección aparece lo esperado:
http://localhost:8080/MiSitio/proyectosLaravel/laravel/public/c?start=3genero=novela.

Es decir ejecuta la ruta c pero no "conecta" de nuevo con la view trabajo3.admon.a
¿Alguien puede hacerme ver dónde he olvidado algo?