Я пытаюсь настроить свой apache для отображения (виртуальных) страниц, например: mywebpage.com/something1 mywebpage.com/something2 mywebpage.com/folder/something3
Я бы хотел, чтобы эти папки «somethingX» и «folder» были только виртуальными, а не физическими каталогами. Для начала было бы здорово отправлять все запросы на mywebpage на один PHP-скрипт, который каким-то образом получит исходную информацию о пути (насколько я знаю, есть некоторый массив SERVER) и вызовет необходимые PHP-функции (пока я использую адреса вроде mywebpage .com / index.php? page = blabla & otherparameters = значения ...). Это возможно?
Я борюсь с другой комбинацией, в настоящее время я использую следующий файл в /etc/apache2/conf.d/something.conf (конечно, не работает). Как правильно действовать? Спасибо.
<Location /myweb>
SetHandler my-handler
Action my-handler /srv/www/htdocs/myweb/product.php virtual
</Location>
Мои страницы находятся в / srv / www / htdocs / myweb. Я пробовал с Location, с Directory, с Action и SetHandler, с AddHandler ... ;-) Некоторые конфигурации были проигнорированы, некоторые вызывали «объект не найден», в журнале ошибок ничего не значилось.
Может быть, вы можете использовать mod_rewrite, создать файл с именем .htaccess
внутри / myweb, чем перенаправить весь запрос в файл php:
RewriteEngine on
RewriteBase /myweb
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* redirect.php/$0 [PT,L]
В redirect.php вы можете получить доступ к пути запроса с помощью: $_SERVER['REQUEST_URI']