Отдельный домен и локальная папка PHP из URI запроса

I Разделите доменное имя URL-адресом синтаксического анализа, как в localhost/test/news/id/title:

$url = $_SERVER['REQUEST_URI'];
$parts = parse_url($url, PHP_URL_PATH);
echo $parts;

Выход это:

/test/news/id/title

Теперь test - это папка xampp htdocs, а не папка в структуре папок моего приложения.

В действии мне нужно разделить папку domain и htdocs, если я работаю на локальном хосте, и отдельный домен, если я работаю с реальным веб-адресом, как этот вывод:

/news/id/title

Как мне распечатать этот результат?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
57
2

Ответы 2

Вам следует настроить DocumentRoot ваших проектов.

Если я работаю над проектом localhost, я использую следующую конфигурацию Apache:

<VirtualHost *:80>
    ServerName project.loc
    DocumentRoot "C:/xampp/htdocs/project"

  SetEnv APPLICATION_ENV "development"

  <Directory C:/xampp/htdocs/project>
    DirectoryIndex index.php index.html
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

В этой настройке C:/xampp/htdocs/project будет результатом host вместо htdocs.

Если вы объедините это с обновлением файла "hosts" Windows (здесь: C: \ Windows \ System32 \ drivers \ etc), вы можете получить доступ к проекту с этой конфигурацией, используя http://project.loc.

Добавьте следующую строку в файл «hosts» (используйте Notepad ++ в режиме администратора, чтобы сохранить его в папке Windows):

127.0.0.1       project.loc

В чистом PHP вы также можете сделать это таким маленьким «грязным» способом:

list($rubish,$path)=explode('/','/'.$parts,2);

Теперь var $ path будет отображать / news / id / title в эхо.

Позвольте мне объяснить Кодекс: explode () разделит строку $ parts на 2 части. Функция list () определяет, что первая часть сохраняется в $ rubish (/ test / part), а вторая часть $ path получит оставшуюся часть вашего пути ;-)

But i also prefer what @rkeet answered!

Другие вопросы по теме