Отправить все входящие URL-запросы через 1 файл, получая параметры пути для PHP

Я хочу, чтобы большинство входящих URL-запросов указывали на глобальный файл процессора

**www.itsme.com/index.php**

URL могут иметь все виды структур, но всегда с "/" вместо "?|&|=", Например

  • www.itsme.com/news/finance/
  • www.itsme.com/news/money/trading
  • www.itsme.com/sports

Index.php должен уметь распознавать URL и его параметры, из которых он был вызван, например

array{[1]=>news,[2]=>finance})

Так как у меня много каталогов, я хочу лучше избегать отдельного размещения в каждом файле (.htaccess) для перенаправления.

Apache / Linux / PHP 5.3

Как это могло быть сделано? THX

2 ответа

Решение

Так легко было. Поместив этот 1-лайнер в корень, как.htaccess сделает:

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+) index.php?var1=$1&var2=$2&var3=$3&var4=$4 [NC]

разве это не здорово?

Пусть Apache сделает всю работу за вас mod_rewrite

RewriteRule ^news/(.*)/$ /index.php?parts[]=news&parts[]=$1 [L]
RewriteRule ^news/(.*)/(.*)/$ /index.php?parts[]=news&parts[]=$1&parts[]=$2 [L]
RewriteRule ^sports/(.*)/$ /index.php?parts[]=sports&parts[]=$1 [L]
Другие вопросы по тегам