перенаправление URL с помощью .htaccess - PullRequest
2 голосов
/ 19 мая 2011

Мне нужна ваша помощь, чтобы сделать переадресацию URL с помощью .htaccess. Дело в том, что у меня есть URL, например www.website.com/index.php?chID=1234, который открывает определенный телеканал на сайте.Проблема в том, что я хочу сделать эти URL-адреса такими, как www.website.com/channel-name/1234 (где 1234 - это переменная chID, чтобы получить запись из базы данных, конечно, без нее было бы более приятно).вот рабочая ссылка - http://www.livepage.info/world-tv-channels.php?chID=1512

Любое предложение будет с благодарностью!Спасибо!

Ответы [ 2 ]

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

Чтобы перенаправить все каналы, вы можете использовать:

RewriteEngine On
RewriteBase /
RewriteRule ^([^/]+/\d+)/$ http://www.livepage.info/$1 [L,R=302,QSA]
RewriteRule ^[^/]+/(\d+)$ index.php?chID=$1 [L,QSA]

Не забывайте, что вам понадобится новый тег HEAD в вашем HTML (в противном случае изображения будут извлечены из http://www.livepage.info/euronews-russia/images/...):

<base href="http://www.livepage.info/">

Конечно, вместо этого вы можете использовать .htaccess. Это, однако, не так хорошо, как тег base href, так как клиент не будет использовать кеш при просмотре разных каналов, или если клиент будет перенаправлен, потребуется два запроса для каждого изображения и т. Д.

RewriteRule ^([^/]+)/(images|folder2|folder3)(/.+)$ $2$3 [L]
0 голосов
/ 19 мая 2011
RewriteEngine On
RewriteBase /

RewriteRule ^channel-name/(\d+)/?$ index.php?chID=$1 [L]

Это перенаправит URL-адреса в формате channel-name/chID с дополнительной косой чертой на указанный вами необработанный URL-адрес. chID должен состоять из 1 или более цифр.

...