Htaccess переписать правило - PullRequest
0 голосов
/ 12 марта 2010

Я схожу с ума от .htaccess и переписать правило. Я хотел бы понять, как это работает, я ненавижу это, в любом случае, вот моя проблема.

(очень просто для большинства из вас)

У моего сайта есть одна главная страница index.php. Это единственная страница, все остальные обрабатываются этой.

Я сделал простой RewriteRule:

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1

для этого:

/index.php?page=VAL -> /VAL

Но я не знаю, как создать для этого правило:

/index.php?page=VAL&var1=VAL2&var2=VAL3 etc.

Я бы хотел получить окончательный URL-адрес, например:

/VAL/VAL2/VAL3 etc.

Спасибо

1 Ответ

1 голос
/ 12 марта 2010

Вы можете просто переписать запрос в index.php и проанализировать запрошенный путь URI с помощью PHP:

$_SERVER['REQUEST_URI_PATH'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = implode('/', ltrim($_SERVER['REQUEST_URI_PATH'], '/'));

И правило к этому:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.php$ index.php [L]

Это будет перезаписывать каждый запрос, то есть путь URI не может быть сопоставлен с существующим файлом, с вашим index.php .

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