$ _GET URL от? Url = http: //google.com

Я создаю скрипт перенаправления для своего сайта, я использую htaccess для перезаписи URL-адреса, чтобы он выглядел лучше.

например. http://localhost/r/http://google.com – это URL, но когда я http:/google.com значение, оно отображается так http:/google.com .
Один / отсутствует, как я могу это исправить?

Редактировать:
Правило перезаписи:
RewriteRule ^r/(.*)/$ /system/offsite/redirect/index.php?url=$1 [L]

Спасибо за любую помощь 🙂

Solutions Collecting From Web of "$ _GET URL от? Url = http: //google.com"

Это поведение связано с Apache, который удаляет пустые сегменты пути перед его отображением. Но вы можете получить доступ к исходному запрошенному пути URI через THE_REQUEST :

 RewriteCond %{THE_REQUEST} ^GET\ /r/([^\ ]+) RewriteRule ^r/ /system/offsite/redirect/index.php?url=%1 [L] 

Использовать функцию php urlencode

РЕДАКТИРОВАТЬ:

 //echo your url echo 'http://localhost/r/'. urlencode('http://google.com'); 

и в вашем файле index.php

 //get your url $url = urldecode($GET['url']); 

Я думаю, что переменная REQUEST_URI будет иметь правильный текст. Используйте его так:

 Options +FollowSymlinks -MultiViews RewriteEngine on RewriteCond %{REQUEST_URI} ^/r/(.*)$ RewriteRule ^r/ /system/offsite/redirect/index.php?url=%1 [L,QSA,NC]