#php #directory
#php #каталог
Вопрос:
Этот вопрос связан с PHP
Как мне сделать так, чтобы запрос к каталогу на моем сервере (который не существует) обрабатывался как переменная.. Например:
domain.com/username действительно будет просьба к domain.com/profile.php?user=username
Возможно ли это вообще? Или как это делает YouTube / Twitter / Facebook?
Комментарии:
1. Для этого вам нужно использовать mod rewrite.
2. Боюсь, я не знаком с этим термином. Что именно вы имеете в виду?
3. Какое программное обеспечение веб-сервера вы используете? Apache? Узел JS? Nginx?
Ответ №1:
Джефф, это называется «дружественный URL» и выполняется с помощью перезаписи url. Я рекомендую прочитать эту документацию: http://httpd.apache.org/docs/current/mod/mod_rewrite.html .
Если вы не знакомы с регулярными выражениями, вы должны прочитать http://www.php.net/manual/en/reference.pcre.pattern.syntax.php
Если вы используете apache в качестве веб-сервера, создайте .htaccess
файл в своем каталоге со следующим содержимым для достижения этой цели
RewriteEngine On
RewriteRule ^[a-zA-Z0-9_.-] $ profile.php?user=$1 [L]
Ответ №2:
Вы ищете mod rewrite. Вот краткое руководство
Большинство фреймворков PHP имеют библиотеки, которые делают это намного проще, лучше всего, вероятно, использовать один из них.