簡體   English   中英

.htaccess 301重定向問題

[英].htaccess 301 redirect problem

我嘗試重定向網址,如:

example.com/video/1640/video-name

example.com/video/1640/video-name/

我嘗試過:

RewriteRule ^video/([^/]*)/([^/]*)/$ video.php?id=$1&title=$2 [L]
RewriteRule ^video/([^/]*)/([^/]*)$ /video/([^/]*)/([^/]*)/ [R=301,L]

但它不起作用

我目前的htaccess文件只有第一行:

RewriteRule ^video/([^/]*)/([^/]*)/$ video.php?id=$1&title=$2 [L]

和視頻只加載

example.com/video/1640/video-name/

網址類型

我想重定向非反斜杠網址類型

example.com/video/1640/video-name

到正確的(帶反斜杠的那個)

我怎樣才能做到這一點?

你的第二個規則應該是RewriteRule ^video/([^/]*)/([^/]*)$ /video/$1/$2/ [R=301,L]

或者你可以完全放棄重定向,只需說RewriteRule ^video/([^/]*)/([^/]*)/?$ video.php?id=$1&title=$2 [L]這將允許兩者查看您的視頻。

更新 FallingBullets是正確的(請參閱此答案的評論),他的答案更好地解決了OP的問題,所以請忽略這個答案(我將其留作參考)。


也許你只需要在你的模式前加一個/? E. g。

RewriteRule ^/?video/([^/]*)/([^/]*)/$ video.php?id=$1&title=$2 [L]
RewriteRule ^/?video/([^/]*)/([^/]*)$ /video/([^/]*)/([^/]*)/ [R=301,L]
#            ^ these ones

代替

RewriteRule ^video/([^/]*)/([^/]*)/$ video.php?id=$1&title=$2 [L]
RewriteRule ^video/([^/]*)/([^/]*)$ /video/([^/]*)/([^/]*)/ [R=301,L]

因為您將模式錨定在路徑的開頭(使用^ )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM