Вот 2 варианта, чтобы получить несколько параметров, сочетающие mod_rewrite
и PHP код. Попробуйте это в одном файле .htaccess в корневой директории, используя этот запрос в качестве примера:
http://test.com/1/2/3
Поместить следующий код в файле .htaccess:
# Rule-set starts with next 6 lines:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase/
# Exclude all requests to existing files.
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [L]
1) Вариант использования переменная REQUEST_URI в PHP:
# Additional 2 lines in .htaccess file
RewriteCond %{REQUEST_URI} !Test\.php [NC]
## Map silently all requests to Test.php
RewriteRule .* /Test.php [L]
PHP пример кода в Test.php
захватить URI-путь "/ 1/2/3":
$URI = explode('/', $_SERVER['REQUEST_URI']);
echo var_dump($URI);
/***
Result:
array (size=4)
0 => string '' (length=0)
1 => string '1' (length=1)
2 => string '2' (length=1)
3 => string '3' (length=1)
**/
2) Возможность использовать переменную QUERY_STRING в РНР:
# Additional (Optional) 2 lines in .htaccess file
RewriteCond %{REQUEST_URI} !Test\.php [NC]
## Map silently all requests to Test.php, passing the URI=Path as a query
RewriteRule ^(.*) /Test.php?$1 [L]
пример кода PHP в Test.php
для захвата QUERY " 1/2/3 ":
$QUERY = explode('/', $_SERVER['QUERY_STRING']);
echo var_dump($QUERY);
/***
Result:
array (size=3)
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '3' (length=1)
**/
Что именно это делает? Я никогда не писал файлы .htaccess, поэтому я их не понимаю. Благодаря! – TomRichardson