2011-05-22 1 views
0

я пытаюсь перенаправить URL, как:.htaccess 301 редирект проблема

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/видео-название/

тип URL

я хочу, чтобы перенаправить без обратной косой черты Типу URL-адрес

example.com/video/1640/video-name

к правильному (один с обратной косой черты)

Как я могу это сделать?

+0

Если идентификатор только когда-либо будет числом, используйте '\ d +', а не '[^ /] *'. – fbstj

+0

спасибо, это сработало. – m3tsys

ответ

2

Ваше второе правило должно быть RewriteRule ^video/([^/]*)/([^/]*)$ /video/$1/$2/ [R=301,L]

Или вы могли бы отказаться перенаправлять полностью, и просто сказать RewriteRule ^video/([^/]*)/([^/]*)/?$ video.php?id=$1&title=$2 [L], который позволит одновременно просматривать видео.

+0

Еще раз спасибо, это то, что я искал. – m3tsys

+0

Рад помочь ... – fbstj

0

Обновление 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] 

, так как вы анкеровки образец в начале пути (с использованием ^).

+0

Это не имеет никакого отношения к вопросу. – fbstj

+0

Почему бы и нет? Если это исправляет его существующее правило перезаписи, так что его перенаправление работает, это должно быть решением его проблемы.Или я неправильно понял вопрос ОФ? –

+0

Вы неправильно поняли вопрос: его правила перезаписи работают, но он не может понять, как перенаправить. Ваше решение приведет к тому, что он вообще не работает (возможно), поскольку ведущий '/' не нужен (заставьте его '/?' Остановить он ломает материал, который в настоящее время работает :)) – fbstj