2015-12-23 35 views
6

Bir Laravel projesini mywebsite.com/laravel/ altında oluşturdum. Ben mywebsite.com/laravel/test gittiğinizde, herşey yolunda ama mywebsite.com/laravel/test/ gidince, ben mywebsite.com/test yönlendirildi ediyorum.Laravel 5 takip eden eğik çizgi kaldırılırken kötü davranış

Dosyaları benim /laravel dizinde index.php ve .htaccess var. Ben RewriteBase çalışmıyor neden hiçbir fikrim yok

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

RewriteEngine On 

# Redirect Trailing Slashes If Not A Folder... 
RewriteBase /laravel 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

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

: Bu dosya benim .htaccess olduğunu. /laravel, /laravel/ ve laravel; hiçbir şey işe yaramadı.

Benim routes.php dosyasında

<?php 
Route::get('/test/{name?}', '[email protected]'); 

Route::group(['middleware' => ['web']], function() { 
    // 
}); 
+1

kod her şekilde benim testlerden çalışıyor. Teknik olarak, kuralı nasıl yazdığınıza göre, RewriteBase'e bile gereksiniminiz kalmaz, çünkü kural tüm URI'yi içerecek ve sadece son satırı soyacaktır. – Devon

+0

Bunu localhost ve hosting sunucusunda test ettim, her iki durumda da beni domain.com/test adresine yönlendiriyor, neyin yanlış olduğunu bilmiyorum. –

+0

@Wolen Lütfen, rota.php'ınızı paylaşın – smartrahat

cevap

5

çözüm

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

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

Ve tarayıcımda :) benim durum net önbellekte değiştirmektir.

1

Bu benim için çalışır; Değiştir

:

# Redirect Trailing Slashes If Not A Folder... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

olarak:

# Remove all trailing slashes  
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} /(.*)/$ 
RewriteRule^/%1 [R=301,L] 

Bu yeniden yazacak REQUEST_URI (.htaccess dosyalarında en az) bir eğik çizgi ile başlar vurgulayan ederken tüm yolları tüm bölü çizgisi çıkarmadan mywebsite.com/laravel/test/ - mywebsite.com/laravel/test/ yönlendirmeden size mywebsite.com/test

Sadece %{REQUEST_URI} (.*)/$ kullanmayın. Çünkü kök dizinde REQUEST_URI eşittir /, en büyük eğik çizgi ve bir izleyen eğik çizgi olarak yanlış yorumlanacaktır.

KAYNAK:https://stackoverflow.com/a/27264788/2732184