AMcoder - javascript, python, java, html, php, sql

Երթուղիներ Laravel-ի ներսում? .htaccess

Ես այժմ կարդում եմ փաստաթղթերը և լրացնում եմ այս արագ մեկնարկի ուղեցույցը՝ http://laravel.com/docs/5.1/quickstart#adding-tasks

Ես օգտագործում եմ Wamp-ը և տեղադրել եմ այս Laravel հավելվածը «www/laravel/quickstart5/»-ում, այն լավ է աշխատում localhost/laravel/quickstart5/public/-ի միջոցով ինդեքս մուտք գործելու համար, երբ Ես ներկայացնում եմ նոր առաջադրանք, որը վերահղվում եմ «localhost/task/»

Սա իմ routes.php-ն է

<?php


use App\Task;
use Illuminate\Http\Request;

/**
 * Display All Tasks
 */
Route::get('/', function () {
    $tasks = Task::orderBy('created_at', 'asc')->get();

    return view('tasks', [
        'tasks' => $tasks
    ]);
});
/**
 * Add A New Task
 */
Route::post('/task', function (Request $request) {
    $validator = Validator::make($request->all(), [
        'name' => 'required|max:255',
    ]);

    if ($validator->fails()) {
        return redirect('/')
            ->withInput()
            ->withErrors($validator);
    }

    $task = new Task;
    $task->name = $request->name;
    $task->save();

    return redirect('/');

    // Create The Task...
});

/**
 * Delete An Existing Task
 */
Route::delete('/task/{id}', function ($id) {
    Task::findOrFail($id)->delete();

    return redirect('/');
});

Ես ունեմ ֆայլ /app/-ում, որը կոչվում է Task.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Task extends Model
{
    //
}

Ես չեմ հասկանում, թե ինչպես է այս ձևը ենթադրաբար աշխատում: "<form action="/task" method="POST" class="form-horizontal">"

Միակ բանը, որ ես ստանում եմ, այն է, որ ես ենթադրում եմ, որ պետք է փոխեմ .htaccess-ը «/public»-թղթապանակում:

Ընթացիկ .htaccess

<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]

01.12.2015


Պատասխանները:


1

/taskը միշտ հարաբերական կլինի արմատին: Դուք իրականում շատ տարբերակներ ունեք դա «շտկելու» համար, որոնցից ոչ մեկը չի ներառում .htaccess ֆայլի խմբագրում:

  1. Օգտագործեք url օգնական գործառույթը: Սա կստեղծի բացարձակ URL: Այս դեպքում դա կլինի localhost/laravel/quickstart5/public/task:

    action="{{ url('task') }}"
    
  2. Եթե ​​անվանել եք ձեր երթուղիները, փոխարենը կարող եք օգտագործել route օգնական ֆունկցիան՝ ստեղծելու փոխարեն: բացարձակ URL.

    action="{{ route('task') }}"
    
  3. Գործարկեք php artisan serve-ը ձեր սիրելի CLI-ից: Այնուհետև կարող եք մուտք գործել ձեր Laravel նախագիծ http://localhost:8000-ից:

01.12.2015
  • redirect('/')-ը հարցի իրական արմատն է, այլ ոչ թե ձևի գործողությունները: 01.12.2015
  • @Cryode Ի՞նչն է քեզ ստիպում դա ասել: Նրա ձևը երբեք չի ներկայացվում, քանի որ իր URL-ը կտրատելով, նրա գործողության URL-ն այժմ հարաբերական է վեբ սերվերի արմատին, որը կոչվում է localhost: 01.12.2015
  • Շնորհակալություն, url օգնական ֆունկցիան անմիջապես լուծեց այն: 01.12.2015
  • Ես ունեմ մեկ այլ ձև, որը ներկայացնում է սա. <form action="{{ url('/task/') }}{{ $task->id }}" method="POST"> Չնայած ինչ-ինչ պատճառներով ես վերահղվում եմ localhost/laravel/quickstart5/public/task5 էջ առանց վերջին / հետո /task I լուծել այն՝ հեռացնելով /-ը երթուղու մեթոդի կանչում: Այսպիսով, ես գործի դրեցի այն, բայց ես մտածեցի, որ այս խնդիրը տարօրինակ է: 01.12.2015
  • @user2479698 Փորձեք սա փոխարենը՝ {{ url('/task/' . $task->id) }} 01.12.2015
  • @ThomasKim Իմ սխալը, ես սկզբնական գրառման մեջ չտեսա գործողության բնօրինակ ձևի կոդը, ուստի ենթադրեցի, որ հարցումը լավ է աշխատում, և այնուհետև վերահղված էջը խնդիր էր: 01.12.2015

  • 2

    Կարող եք նաև ավելացնել ձեր vhost ֆայլին.

    <VirtualHost *:80>
        DocumentRoot "c:/wamp/www/laravel/quickstart5/public"
        ServerName quickstart5.local
    </VirtualHost>
    

    Այնուհետև ավելացրեք այս տողը ձեր hosts ֆայլին և վերագործարկեք apache-ն

    127.0.0.1 quickstart5.local
    

    Այժմ դուք կարող եք մուտք գործել ձեր նախագիծ՝ http://quickstart5.local միջոցով

    Վերը նշվածը կատարելու ավելի մանրամասն ուղեցույցի համար տե՛ս այստեղ՝ https://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp

    01.12.2015
    Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..