2014-01-08 30 views
1

我想鏈接被重定向的方式,使得在末尾沒有斜線的url應該被重定向到最後帶有斜槓的url。Tricky 301Redirect規則

例子1:

http://example.com/quiz/funny-riddles-with-answers 

應重定向到

http://example.com/quiz/funny-riddles-with-answers/ 

例如2

http://example.com/quiz/math-riddles-with-answers 

應該被重定向到

我不知道該怎麼做。 .htacess的

我目前的屏幕截圖是

RewriteEngine On 
RewriteBase /quiz/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)?$ mypage.php?param1=$1&param2=$2 [L,QSA] 

回答

1

嘗試這些規則/quiz/.htaccess:不工作的

RewriteEngine On 
RewriteBase /quiz/ 

# add a trailing slash for non-directories 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{THE_REQUEST} \s(.+?[^/])[?\s] 
RewriteRule^%1/ [R=301,L,NE] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)/?$ mypage.php?param1=$1&param2=$2 [L,QSA] 
0

您可以輕鬆地改寫爲使用結尾的斜線:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*[^/])$ /$1/ [L,R=301] 

廣場上方的現有重寫。

0

你需要改變當前的規則的圖案:^([^/]+)/([^/]+)?/?$

然後RewriteBase /quiz/下添加此權:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)$ /$1/$2/ [L,R=301] 
+0

這種變化me –

+0

@SheldonCooper你的htaccess文件在哪裏? –