Проблема перенаправления .htaccess 301 - PullRequest
0 голосов
/ 22 мая 2011

я пытаюсь перенаправить URL как:

example.com / / / видео название видео 1640

до

example.com / / / видео название видео 1640 /

я пробовал с:

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 / / / видео-имя видео 1640 /

тип URL

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

example.com / / / видео-название видео 1640

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

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

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

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

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

0 голосов
/ 22 мая 2011

Обновление Правильно FallingBullets (см. Комментарии к этому ответу), его ответ лучше подходит для проблемы ОП, поэтому, пожалуйста, игнорируйте этот ответ (хотя я оставляю его для справки).


Может быть, вам просто нужно добавить префикс к вашему шаблону /??Например

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]

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

...