Обрабатывать каталог как запрос на PHP-файл

#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 имеют библиотеки, которые делают это намного проще, лучше всего, вероятно, использовать один из них.