Friday, August 16, 2013

Как с iphone зайти на localhost компьютера

Как с айфона загрузить локальный сайт, размещенный на localhost домашнего компютера.

1. убедитесь, что компьютер имеет айпи, и что сеть настроена так, чтобы айфон видел комп. Если у Вас сеть контролируется WiFi роутером, тогда все еще проще, так как у большинства роутеров есть DHCP сервер, где можно задать айпи адреса и компьютеру и айфону. Если нет роутера, а сеть WiFi раздается с компьютера, тогда попробуйте в сетевых настройках задать компьютеру любой айпи, типа 192.168.1.101

2. Если на компе установлен localhost тогда все устройства сети смогут зайти на данный хост по http://192.168.1.101. Если с iPhone так не удается зайти (не грузит вообще ничего) значит сеть не настроена, или порт 80 недоступен для других устройств. Отключите файрвол если есть такой на время тэста

3. Например Ваш локальный сайт имеет адрес mysite-local.com, чтобы зайти на него с айфона, нужно в настройках сети айфона указать адрес Вашего компьютера в качестве прокси-сервера.
Для этого на айфоне зайдите в настройки -> WiFi -> откройте детали Вашей сети (синяя стрелочка напротив сети,  к которой подключен iPhone), внизу есть секция для прокси, выбирите Вручную и пропишите в поле Сервер айпи Вашего компа (192.168.1.101 в нашем примере), а в поле Порт пропишите 80 (или тот, который у Вас настроен на localhost (если не 80, то попробуйте 8080, короче вы должны быть в курсе))

Всё готово, пробуйте!

Если нужно зайти на localhost с другого компьютера, тогда если на компе с которого нужно зайти стоит Windows, нужно в файл hosts добавить DNS запись. откройте Windows/System32/drivers/etc/hosts
и добавть строку, типа:
192.168.1.101 mysite-local.com

таким образом Вы компьютеру задали маршрут, и когда Вы наберете http://mysite-local.com комп попытается соединится с сервером на Вашем втором компе, где установлен локалхост, и таким образом загрузиться локальный сайт с localhost на втором компьютере.

Tuesday, March 19, 2013

301 Редирект для ссылки с недопустимыми символами средствами .htaccess



Нужно перенаправить испорченную CodeIgniter ссылку с символами %C2%A0 на другой адрес через .htaccess

Для примера
http://mysite.com/some-page%C2%A0
нужно
http://mysite.com/other-page


Redirect   301    /some-page%C2%A0     /other-page   не сработал

Сдесь я нашел некий пример

RewriteCond   %{THE_REQUEST}   ^[A-Z]+\ /[^%?\ ]*\%
RewriteRule    ^. http://www.example.com/     [R=301,L]

Правило редиректит все ссылки с спес символами %..

Я попробовал следующее:

RewriteCond   %{THE_REQUEST}   some-page[^%?\ ]*\%
RewriteRule   ^.    /other-page [R=301,L]

Но при тесте, мне в новую ссылку началась добавляться старая ссылка как параметр, причем многократно, так как правило начало работать рекурсивно (потому что some-page опять встречался в новой ссылке ну уже как параметр, пресечь это не удалось):

http://mysite.com/index.php/other-page?/some-page/&... etc

После гуглинга я нашел это

и сменил чуть правило

RewriteRule   ^.   /other-page [R=301,L]
to
RewriteRule   .?   /other-page$1? [R=301,L]


Итак, чтобы сделать 301 редирект битой ссылки с спец символами % нужно примерно такое:

RewriteCond   %{THE_REQUEST}   some-page[^%?\ ]*\%
RewriteRule   .?  /other-page$1? [R=301,L]