разрешить URI с данными после косой черты - PullRequest
0 голосов
/ 01 октября 2019

У меня есть более старый проект PHP для клиента, где мы используем URL-адреса, такие как: www.domain.com/person1, чтобы показать персонализированную страницу для "person1". В каталоге index.php есть каталог PHP для домена, который использует $ _SERVER ['REQUEST_URI'] для отображения правильной информации о странице вместо содержимого индекса по умолчанию. Это работало отлично в течение многих лет и продолжает работать на реальном веб-сервере. См .: http://smd.subitomusic.com/Allapavlova

Моя проблема в том, что я не могу продублировать это на своем локальном сервере, чтобы провести некоторое тестирование и пересмотреть другие части сайта. Мой локальный сервер - XAMPP, а веб-хост - Apache в Unix. На локальном хосте Xampp пытается найти каталог с именем «person1», а его нет, поэтому я получаю ошибку 404 вместо кода на работающем index.php.

Временно я выполнил работус помощью GET-переменной на локальном хосте (мой код ondex.php проверяет $ _SERVER ['REQUEST_URI'] или GET ['page'], так что, по крайней мере, я могу работать с базовым макетом страницы и другимино я хотел бы знать, есть ли какая-то мелочь, которую я пропускаю, чтобы она работала на локальном хосте так же, как на удаленном хосте.

Надеюсь, это имеет смысл. Я сделалЯ много искал об этом, но не мог найти правильные термины для поиска того, как это сделать.

1 Ответ

0 голосов
/ 01 октября 2019

Создайте файл .htaccess в корне вашего htdocs и заполните его:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php
ErrorDocument 404 /index.php

Тогда все не найденные запросы будут внутренне перенаправлены в index.php для обработки.

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