Палец вверх 0
Перевод
Перевод

Отправить все входящие 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

url .htaccess redirect sef
задан Email 29 февр. 2012 г., 4:07:06
источник

2 ответа

Палец вверх 0
Перевод
Перевод

Пусть 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]
ответ дан ncremins 29 февр. 2012 г., 4:24:49
источник
Решение 0
Перевод
Перевод

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

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

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

ответ дан Email 1 мар. 2012 г., 1:52:48
источник