перенаправить каждый запрос в index.php и интерпретировать запрос - PullRequest
1 голос
/ 25 января 2012

Я использую Apache 2.2 и PHP 5.3.8. Как мне настроить .htaccess для перенаправления каждого запроса на index.php?

Я хотел бы, чтобы URL-адреса были такими же, как у stackoverflow или facebook, например: http://mywebsite.com/fancypage где fancypage - это не каталог на сервере, а просто параметр.

Поэтому я подумал, что мне нужно перенаправить каждый запрос на страницу php, где некоторый код может интерпретировать строку $ _SERVER ['REQUEST_URI']. Это правильный путь? будет ли $ _SERVER ['REQUEST_URI'] по-прежнему доступен после перенаправления?

Ответы [ 2 ]

5 голосов
/ 25 января 2012

Попробуйте добавить следующее в файл .htaccess в корневом каталоге вашего сайта.

Он будет отправлять все запросы (кроме существующих файлов / каталогов) на index.php.

Исходный запрос будет доступен в параметре request.

RewriteEngine On
RewriteBase /

#skip existing files or directories
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
#everything else goes to index.php
RewriteRule ^ index.php?request=%{THE_REQUEST} [L]
1 голос
/ 25 января 2012

Что вас интересует, так это функция apache url_rewrite. Я предлагаю вам посетить эти две ссылки и немного изучить их:

...