Самое простое из возможных решений - проверка заголовка User-Agent, отправленного браузером. Тем не менее, я бы не советовал полностью ограничивать доступ со стороны немобильных пользовательских агентов, так как есть вероятность, что кто-то посетит сайт с мобильного устройства, о котором вы не знаете. Более изящным решением было бы показать пользователю краткое сообщение о том, что страница предназначена только для мобильных устройств, а также ссылку на немобильную версию и ссылку для доступа к мобильной версии в любом случае.
Некоторые строки User-Agent, отправленные мобильным браузером, можно найти здесь: http://www.zytrax.com/tech/web/mobile_ids.html
Заголовок User-Agent может быть запрошен через псевдопеременную $ _SERVER: http://php.net/manual/en/reserved.variables.server.php
Изменить после обновления вопроса:
Вероятно, вам не следует полагаться на конечную точку URL, доступ к которой осуществляется только из вашего приложения. Одним из способов ограничения доступа является настройка вашего приложения для отправки определенного заголовка, который может быть, и фактически, если есть кто-то, кто действительно этого хочет, будет извлечен из вашего приложения однажды. Вероятно, для большинства практических целей будет достаточно сочетания пользовательской строки User-Agent и пользовательского заголовка, такого как X-My-App-Name (придумать какое-нибудь умное имя). Сервер может прочитать эти заголовки и, если они отсутствуют, отобразить предупреждение пользователю по ссылке на скачивание приложения.
Как следует отправлять пользовательские заголовки, это во многом зависит от того, какую платформу вы разрабатываете. Например, если пакет org.apache.http.clint доступен (например, на Android), то метод org.apache.http.HttpMessage.addHeader (String name, String value) является самым простым способом.
Некоторая документация по org.apache.http.clint доступна, например, здесь: http://developer.android.com/reference/org/apache/http/HttpMessage.html