Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > .htaccess


Автор: Валерия 25.9.2008, 13:33
Хочу что бы мой урл был вида
http://site.ru/sdg/sdfgh/aasdfa/asdf/fasdf и тп
И хочу что бы таких переменных было неограниченное (в здравом смысле) количество.
Делаю так:
Код

#php_flag magic_quotes_gpc 0
#php_flag magic_quotes_runtime 0

RewriteEngine On

RewriteRule ^([a-zA-Z0-9_-]+)/{0,1}$ index.php?v1=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/{0,1}$ index.php?v1=$1&v2=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/{0,1}$ index.php?v1=$1&v2=$2&v3=$3 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/{0,1}$ index.php?v1=$1&v2=$2&v3=$3&v4=$4 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/{0,1}$ index.php?v1=$1&v2=$2&v3=$3&v4=$4&v5=$5 [L]

Но как видите, для каждой переменной нужно заново всё прописывать.
Как сделать автоматом?)

Автор: teroni 25.9.2008, 13:54
Код

RewriteEngine On
RewriteRule ^(.*)$ index.php?vars=$1 [L]

А в скрипте
Код

$v = explode('/', $_GET['vars']);
print_r($v);

Автор: Sunvas 26.9.2008, 00:45
Валерия, я рекомендую ввообще сделать все вот так:
Код

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]

И анализировать каждый запрос руками на PHP. Так гораздо универсальнее получиться, да и апач бестолку грузить не будет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)