СКАЧАТЬ ИСХОДНИКИ
Мне нравится решать проблемы с помощью маленьких и компактных скриптов. Чем меньше кода нужно написать, тем лучше. Недавно у меня в очередной раз появился шанс это сделать.
Эта проблема может быть решена с помощью скрипта для сокращения URL-адресов. Уже довольно давно существуют сервисы, предоставляющие такие возможности, но они не без недостатков. Вот некоторые из них:
Итак, задача состоит в написании собственного PHP-скрипта, который был позволил решать задачу, описанную выше!
Если скрипт создается исключительно для собственного пользования, то можно опустить создание таких вещей, как регистрация пользователя и административная панель. Ниже перечислены возможности, которыми должен обладать наш будущий скрипт:
Эти пункты упростят наш будущий скрипт. Чтобы сделать все еще более понятным, я решил хранить ссылки в INI-файле, потому что его легко отредактировать и PHP имеет их встроенную поддержку через функцию parse_ini_file (это убережет нас от необходимости читать содержимое файла и парсить его вручную, к тому же эта функция работает очень быстро).
INI-файл выглядит так:
links.ini
Реализация
Наш PHP-скрипт гениально прост:
index.php
$links = parse_ini_file("links.ini"); if(isset($_GET["l"]) && array_key_exists($_GET["l"], $links)){ header("Location: " . $links[$_GET["l"]]); } else{ header("HTTP/1.0 404 Not Found"); echo "Unknown link."; }
Скрипт ожидает получения псевдонима в массиве $_GET[‘l’] , который выглядит например так: http://example.com/index.php?l=google .
Конечно это не сокращение, но мы можем улучшить это с помощью файла .htaccess (используется для запуска веб-сервера Apache).
Htaccess
RewriteEngine On RewriteCond $1 !^(index.php) RewriteRule ^(.*)$ index.php?l=$1 [L]
Этот файл должен находиться в той же директории, что и index.php и links.ini . Его назначение состоит в том, чтобы перенаправлять каждый запрос, который идет НЕ к файлу index.php , на адрес вида index.php?l=xxx . Это защитит от циклических ссылок и сделает файл links.ini недоступным из браузера.
Для достижения наилучших результатов, поместите три этих файла в папку с коротким именем, к примеру «l », в корневую папку сайта, и получите короткий вид ссылок в форме http://example.com/l/google .
Пример с сайтом google.com не слишком нагляден, так как укороченная ссылка получается длиннее оригинала, однако важно было показать именно суть работы механизма, что, надеюсь, и было достигнуто.
Еще одно улучшение, которое можно сделать, это создать простейший административный интерфейс, чтобы можно было менять содержимое INI-файла.
Конечно, в данном скрипте можно еще много чего реализовать. Надеюсь, что мое творение было для вас полезным!
Данная публикация представляет собой перевод статьи «Quick Tip - Create a Simple URL Shortener With 10 Lines of PHP » , подготовленной дружной командой проекта
HTML тег определяет отношение между текущим html-документом и внешним ресурсом, на который он ссылается. Он является пустым элементом (не имеет содержимого и закрывающего тега) и всегда должен располагаться внутри элемента
. Чаще всего тег используется для подключения внешних таблиц стилей:
Первый атрибут href определяет адрес документа, который может быть как абсолютным так и относительным. Второй атрибут rel указывает связь между HTML файлом и тем, на что вы ссылаетесь, в данном случае мы ссылаемся на таблицу стилей, поэтому используется значение stylesheet. Атрибут type сообщает браузеру MIME тип документа, для таблиц стилей значением всегда будет "text/css" .
Примечание: по стандарту HTML5, при подключении к документу внешнего файла CSS, атрибут type указывать не требуется:
Обычно, когда вы кликаете по ссылке на другую страницу приходится ждать несколько секунд пока она загрузится. Однако, вы можете настроить вашу веб-страницу таким образом, чтобы определённые страницы загружались заранее в кэш браузера в то время пока вы находитесь на текущей странице. Это означает, что когда вы кликнете по ссылке для перехода на другую веб-страницу, то она откроется сразу и не надо будет ждать, пока она загрузится. Это называется "предварительное получение страницы". Чтобы сделать это, используется тег с атрибутом rel="prefetch" , а также указывается целевая страница, которая будет заранее загружена на компьютер.
Такая запись позволит заранее закешировать страницу tag_p.php на компьютере, пока вы читаете содержимое текущей страницы. Вы можете использовать тег для предварительной загрузки любого количества страниц вашего собственного сайта или любых других из интернета.
Примечание: вместо адреса на HTML-документ можно указать путь к файлу другого типа (картинку, видео и тд.).
Атрибут href , в этом случае, должен содержать ссылку на страницу с идентичным содержимым, которую поисковые системы должны считать основной:
Тег так же поддерживает
Не секрет, что практически все разработчики модулей, плагинов да и самих CMS, склонны оставлять прямые ссылки на свои личные сайты. Иногда поиск таких ссылок занимает у вебмастера порядочное количество времени. Времени, которое он бы мог потратить на более важные задачи. Предлагаемый нами скрипт Find-Link предназначен исключительно для поиска внешних ссылок. При этом он довольно просто в установке и использовании: все, что от Вас потребуется - скопировать файл скрипта в корень сайта и открыть его в браузере. Find-Link покажет Вам в каком файле присутствует внешняя ссылка, а также укажет ее код. После этого Вам останется только удалить ее.
Скачать скрипт можно версия 0.5.0
Скачать скрипт можно версия 0.4.0
Скачать скрипт можно версия 0.3.1
Скачать скрипт можно версия 0.3.0
Скачать скрипт можно версия 0.2.0
Скачать скрипт можно версия 0.1.0
Установка:
1. Скопируйте файл find-link.php в корень вашего сайта.
2. Откройте файл http://your web site/find-link.php в броузере.
Важно - если Find-Link не успевает выполнить поставленную перед ним задачу, то скопируйте файл скрипта в подкатегории и проверьте Ваш сайт по частям.
Надеемся, что наш ресурс и все предлагаемые нами инструменты не раз помогут Вам в работе с Вашими проектами.