Назад | Перейти на главную страницу

Передача URL-адреса как переменной через mod_rewrite

Я пытаюсь передать фактический URL-адрес как переменную, используя mod_rewrite на apache

У меня есть страница externalLink.php, на которую можно передать URL-адрес, чтобы сделать некоторую магию, т.е.

/externalLink.php?url=http://example.com

Я хочу, чтобы это был хороший URL-адрес, например / external /http://example.com

Я добавил правило перезаписи в свой htaccess, которое, надеюсь, может сработать, но, как подозреваю, нет.

RewriteRule ^ external /([^/.pting+)/*$ /externalLink.php?url=$1 [L]

Кто-нибудь знает возможно ли это ?

заранее спасибо

.k

Попробуйте это правило:

RewriteCond %{THE_REQUEST} ^GET\ /external/(http://[^\ ]*)
RewriteRule ^external/http:/ externalLink.php?url=%1 [L]

Вам нужно изучить THE_REQUEST поскольку Apache удаляет пустые сегменты пути в пути URL.

возникнут проблемы с косой чертой в http: //

пытаться:

RewriteRule ^external/(^http:\/\/.+)/$ /externalLink.php?url=$1 [L]