Короткие URL без индексных файлов? - PullRequest
0 голосов
/ 02 октября 2011

Мне интересно, как генерируются такие URL: http://www.example.com/Xj7hF

Это практика, которую я видел во многих средствах сокращения URL-адресов, а также на других веб-сайтах, которые предположительно не хотят отображать данные в URL в формате параметров.

Конечно, они не могут помещать индексные файлы в папку назначения /Xj7hF и т. Д. С перенаправлением на фактический URL, поэтому мне интересно, как это сделать.

Любая помощь будет принята с благодарностью!

(я работаю на сервере Linux с Apache).

Ответы [ 2 ]

1 голос
/ 02 октября 2011

Разные фреймворки веб-разработки и веб-серверы делают это по-разному, но наиболее распространенным, вероятно, является использование mod_rewrite с apache.По сути, веб-сервер отправляет запрос на динамический язык сценариев (например, PHP), переписанный таким образом, что сценарию не нужно знать, как выглядел исходный URI запроса, а браузеру клиента не нужно знать, чтоскрипт действительно обработал запрос.

Например, вы часто будете видеть:

http://something.com/123/

Это запрос на /123, который Apache может переписать как запрос/my_script.php?id=123 в зависимости от того, как пользователь настроил mod_rewrite.

(пример. htaccess)

# if the request is for a file or directory that
# does not actually exist, serve index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1
0 голосов
/ 02 октября 2011

Это известно как перезапись URL и обычно выполняется через правильную настройку веб-сервера.Для этого в StackOverflow есть несколько тегов , поэтому вы сможете найти там больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...