Добавить косую черту в URL - PullRequest
       18

Добавить косую черту в URL

1 голос
/ 25 октября 2010

Мой текущий файл .htaccess выглядит так:

RewriteEngine on
RewriteBase /

Options +FollowSymLinks -Indexes

RewriteRule ^video/(.*)$ video.php?id=$1 [L]
RewriteRule ^video/(.*)$([a-zA-Z0-9]+) video.php?id=$1 [L]
RewriteRule ^tag/(.*)/page-(.*)/$ tag.php?tag=$1&page=$2 [L]
RewriteRule ^tag/(.*)/page-(.*)$ tag.php?tag=$1&page=$2 [L]
RewriteRule ^tag/(.*)?$ tag.php?tag=$1
RewriteRule ^page/(.*)$ page.php?id=$1 [L]
RewriteRule ^feed feed.php [L]

я хочу добавить косую черту ко всем моим URL

как это:

> example.com/video/video_id/
> 
> example.com/tag/keyword/
> 
> example.com/tag/keyword/page-2/      (3... and so on...)
> 
> example.com/page/name/
> 
> example.com/feed/

И я хочу перенаправить мои текущие ссылки на новый URL-адрес слеш

Может кто-нибудь помочь мне, пожалуйста?

1 Ответ

2 голосов
/ 25 октября 2010

Ваш текущий файл htaccess поддерживает конечный / хотя вы, вероятно, предпочли бы

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

, чтобы вам не приходилось обрабатывать / in video.php

Просто обновите всеВаши URL должны быть example.com/video/video_id/ вместо example.com/video/video_id во всех используемых вами средах (ваши фреймворки / простые HTML-файлы).

Ваши старые URL будут работать.Если вы действительно хотите перенаправить их, вы можете:

RewriteCond %{REQUEST_URI} ^video/ [NC]
RewriteRule ^video/(.*)$ video.php?id=$1 [L,R=301]

[NC] означает проверку без учета регистра (так что / VIDEO) будет работать.[R=301] означает постоянное перенаправление (полезно для SEO).

Пройдите и разверните для других ваших правил.

Редактировать:

Извините,Я не думаю, что это было совершенно правильно раньше.Попробуйте следующее:

RewriteEngine on
RewriteBase /

Options +FollowSymLinks -Indexes

RewriteCond %{REQUEST_URI} ^video/ [NC]
RewriteRule ^video/(.*)$ video/$1/ [L,R=301]
RewriteRule ^video/(.*)/$ video.php?id=$1 [L]

RewriteCond %{REQUEST_URI} ^tag/ [NC]
RewriteRule ^tag/(.*)/page-(.*)$ tag/$1/page-$2/ [L,R=301]
RewriteRule ^tag/(.*)/page-(.*)/$ tag.php?tag=$1&page=$2 [L]

...
...