/ / Перезапис URL-адреси CI - php, codeigniter, url-переписування, переписання

Перезапис URL-адреси CI - php, кодигітайтер, перезапис url, перезапис

Я ніколи раніше не переписував URL-адреси, крімвидалення index.php частини мого встановлення CodeIgniter, і це я роблю, використовуючи фрагмент, вставлений в мою .htaccess, копіювальний фрагмент. У мене не було часу, щоб насправді дізнатися про те, що робить фрагмент; я в основному дуже нова в переписуванні URL-адрес.

У мене є мобільна версія мого веб-додатку. Я дійшов до переадресації мобільних користувачів на субдомен: m.myhost.tld. Однак, оскільки я використовую (один) CodeIgniter (встановити), я повинен переслати цих мобільних користувачів на певний мобільний контролер, у моєму випадку /mobile/. Отже, контролер завжди відображається в моєму адресному рядку.

Я просто не думаю, що це дуже чисто, і я шукаю спосіб переписати URL; але правдиво сказати, я навіть не впевнений, чи це можливо .. звідси моє запитання. Я хочу позбутися від /mobile частина контролера. Чи можливо це?

Деякі приклади:

Моя поточна мобільна папка "root"

http://m.myhost.tld/mobile

Я хотів би перетворити цю

http://m.myhost.tld/

На даний момент, коли я йду до http://m.myhost.tld/, він перенаправляє на контролер за замовчуванням для мого додатка CodeIgniter, який є частиною "настільної" версії веб-програми.

Інший приклад:

Поворот

http://m.myhost.tld/mobile#mobile/about

в

http://m.myhost.tld/#mobile/about

Я не впевнений, чи маю я тут сенс. Я в голові, але, як я вже сказав, я не знаю, що саме можливо. Якщо користувач перебуває на m піддомен, я хочу приховати /mobile частина моїх URL-адрес. Однак лише тоді, коли ми знову на m субдомен, тому "настільна" версія (яка знаходиться на www ) зовсім не торкається.

Як я вже говорив пару разів, я не впевненийте, що можливо, і що я шукаю, може бути занадто складним чи чогось іншого. Я зрозумів, що запитаю, оскільки вчитися, запитуючи - це те, що мені найкраще робити. німе запитання, панове професіонали;)

Редагувати: Я думав, що "редагую, бо не хочу, щоб вийшло неправильно. Я не обов'язково шукаю точних відповідей на моє запитання. Я також вітаю документацію / навчальні посібники / статті, які можуть навести мене на вирішення. Якщо мені вдасться знайти власне рішення, я, звичайно, навчусь багато чому більше.

Дуже дякую.

Відповіді:

2 для відповіді № 1

Це може бути занадто простим рішенням, але чому б у вашому конфігурації маршрутизації не зробити щось просте, як

у вашому конфігурації зробити щось на кшталт

if ($_SERVER["SERVER_NAME"] == "m.myhost.tld")
$route["default_controller"] = "mobile";

Це зробить мобільний контролер за замовчуванням, щоб вам не довелося мати / мобільний ...

Як я сказав, можливо, занадто просто


0 для відповіді № 2

EDIT: Не працює, але, можливо, хтось може перетворити це на щось, що робить

Спробуйте це:

RewriteCond $1!^mobile/
RewriteCond %{HTTP_HOST} ^m.myhost.tld
RewriteRule (.*) /mobile/$1 [L]