http://site.ru/index.php?id=1&url=http://site.ru
на
http://site.ru/go/1/http://site.ru
Таким образом не получается:
RewriteEngine On
RewriteRule ^go/([^/]*)/([^/]*)$ /index.php?id=$1&url=$2 [L]
Так как параметр url имеет слеши, и поэтому не передаётся.
как правильно написать? помогите плз.
Спустя 6 минут, 22 секунды (4.08.2010 - 01:21) arvitaly написал(а):
RewriteRule ^go/([^/]*)/(.*)$ /index.php?id=$1&url=$2 [L]
Вопрос явно не для знатоков
И еще а для чего тебе вообще http://, по моему лишнее
Спустя 12 минут, 19 секунд (4.08.2010 - 01:34) ullltra написал(а):
Интересно если вопрос не для знатоков, то для кого?
Вот ты например в ветке для знатоков отписался, а сам не знаешь ответ на этот вопрос.
Вопрос задан точно и корректно, надо именно с http://
причем в url и без http:// могут быть слэши после домена
Вот ты например в ветке для знатоков отписался, а сам не знаешь ответ на этот вопрос.
Вопрос задан точно и корректно, надо именно с http://
причем в url и без http:// могут быть слэши после домена
Спустя 40 минут, 11 секунд (4.08.2010 - 02:14) arvitaly написал(а):
Убери последний доллар
Спустя 7 часов, 44 минуты, 45 секунд (4.08.2010 - 09:58) ullltra написал(а):
RewriteRule ^go/([^/]*)/([^/]*) /index.php?id=$1&url=$2 [L]
Так?
тогда в параметр url передаётся только 'http:' то есть до первого слеша (
добавлено
Вроде почти решил проблему, после знака '^' не надо указывать слеш
но надо указать другой символ любой, которого не может быть в url
RewriteRule ^go/([^/]*)/([^[]*)$ /index.php?id=$1&url=$2 [L]
в таком случае в url передаётся адрес почти полностью типа:
http:/site.ru/sdffsdsdfsd/sdfds (только в начале один слэш)
Реально сделать, чтобы оба слэша передалось в параметр?
или прийдётся замену делать
http:/ на http:// ?
Так?
тогда в параметр url передаётся только 'http:' то есть до первого слеша (
добавлено
Вроде почти решил проблему, после знака '^' не надо указывать слеш
но надо указать другой символ любой, которого не может быть в url
RewriteRule ^go/([^/]*)/([^[]*)$ /index.php?id=$1&url=$2 [L]
в таком случае в url передаётся адрес почти полностью типа:
http:/site.ru/sdffsdsdfsd/sdfds (только в начале один слэш)
Реально сделать, чтобы оба слэша передалось в параметр?
или прийдётся замену делать
http:/ на http:// ?
Спустя 1 час, 31 минута, 50 секунд (4.08.2010 - 11:30) netruxa написал(а):
RewriteEngine On
RewriteRule ^go\/([0-9]*)\/(.*)$ index.php?id=$1&url=$2
а в index.php заменять http:/ на http://
RewriteRule ^go\/([0-9]*)\/(.*)$ index.php?id=$1&url=$2
а в index.php заменять http:/ на http://
Спустя 5 часов, 59 минут, 20 секунд (4.08.2010 - 17:30) ullltra написал(а):
netruxa, большое спасибо
такой способ более грамотный и всё работает.
заменить http:/ на http:// недолго
только почему он слэши склеивает?
даже если в адресе напишешь 3 и более слэшов, то выдаёт все равно один
такой способ более грамотный и всё работает.
заменить http:/ на http:// недолго
только почему он слэши склеивает?
даже если в адресе напишешь 3 и более слэшов, то выдаёт все равно один
Спустя 13 часов, 8 минут, 15 секунд (5.08.2010 - 06:38) arvitaly написал(а):
Вообще то в htaccess точка заменяет любой символ кроме как раз таки слеша