2016-10-24 1 views
-1

У меня есть задача, которая приносит мне значительные проблемы. Любая помощь очень ценится.Перенаправление в файл, передающий URL как параметр

Я использую структуру MVC в PHP (codeigniter), и все запросы отправляются через корневой файл index.php.

Я пытаюсь передать URL другого сайта в качестве параметра для контроллера defualt. Как это:

http://mywebsite.org/https://google.com

Видимо, это можно сделать с помощью с помощью правила mod_rewrite в файле .htaccess корневой

так в идеале я мог бы использовать «http://google.com» в качестве параметра в мой контроллер ,

Требуется некоторое количество регулярных выражений и rewriteRule. Некоторое время боролся. Любые идеи?

+0

Почему не просто 'HTTP: //mywebsite.org/ URL = https: // google.com' –

+0

хороший вопрос. Я хочу, чтобы пользователи вводили его, как описано – TimFelix

ответ

0

Это было бы правило перезаписи для .htaccess:

RewriteRule /(.+) /index.php?url=$1 [QSA]

http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_qsa


С codeigniter это должно сделать работу:

http://www.codeigniter.com/user_guide/general/urls.html?highlight=uri%20segments

Сегменты в URL, следуя подходу Model-View-Controller, как правило, представляют собой: example.com/class/function/ID

  1. Первый сегмент представляет класс контроллера, который должен быть вызван .
  2. Второй сегмент представляет функцию класса или метод , который должен вызываться.
  3. Третий и любые дополнительные сегменты представляют собой идентификатор и любые переменные, которые будут переданы контроллеру .

И здесь объясняется, как: Passing GET parameters through htaccess + Codeigniter

+0

Привет, Стефан. Спасибо, что нашли время ответить на мой вопрос. Отличный ответ. – TimFelix