Спецмалисты Mod Rewrite подскажите правильно ли

antonlg
На сайте с 10.11.2006
Offline
99
471

Приветствую, собственно всё в теме, код:

RewriteEngine On

RewriteRule ^([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)/([^/]+)/$ index.php?mode=$1&country=$2&type=$3&region=$4&city=$5&hotel=$6

RewriteRule ^([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)/([^/]+)$ index.php?mode=$1&country=$2&type=$3&region=$4&city=$5&hotel=$6

RewriteRule ^([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)/$ index.php?mode=$1&country=$2&type=$3&region=$4&city=$5

RewriteRule ^([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)$ index.php?mode=$1&country=$2&type=$3&region=$4&city=$5

RewriteRule ^([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)/$ index.php?mode=$1&country=$2&type=$3&region=$4

RewriteRule ^([^.^/]+)/([^.^/]+)/([^.^/]+)/([^.^/]+)$ index.php?mode=$1&country=$2&type=$3&region=$4

RewriteRule ^([^.^/]+)/([^.^/]+)/([^.^/]+)/$ index.php?mode=$1&country=$2&type=$3

RewriteRule ^([^.^/]+)/([^.^/]+)/([^.^/]+)$ index.php?mode=$1&country=$2&type=$3

RewriteRule ^([^.^/]+)/([^.^/]+)/$ index.php?mode=$1&country=$2

RewriteRule ^([^.^/]+)/([^.^/]+)$ index.php?mode=$1&country=$2

RewriteRule ^([^.^/]+)/$ index.php?mode=$1

RewriteRule ^([^.^/]+)$ index.php?mode=$1

Дизайн, flash, сайт, интернет-магазин, портал, продвижение? - www.isi.in.ua (www.isi.in.ua)!
S
На сайте с 26.10.2006
Offline
5
#1

Если я правильно понимаю, то Вы хотите сделать ЧПУ - урлы типа: sitename.com/mode/country/type/region/city/hotel

Мне кажется, что можно это сделать несколько иначе:

1. создаёте такой .htaccess

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]*)$ index.php?q=$1 [L,QSA,NS]

2. Теперь всё валится на индекс-файл, где вы и разгребаете по нужным переменным:

например на PHP всё начинается так:

$aParam = explode("/", $_SERVER['REQUEST_URI']);

далее работаете с этим массивом параметров как Вам необходимо

3. пригодится:

- если необходимо чтобы rewrite правило для папки не срабатывало, например для папки с CSS или картинками - положите внутрь .htaccess со строчкой

RewriteEngine off

- если в корень положите другой скрипт, например форум, то в главный .htaccess, надо будет добавить строку:

RewriteRule ^forum/(.*)$ forum/$1 [L]

до правила о index.php

Я не супер специалист по Mod Rewrite, но надеюсь помог.

На моих сайтах всё работает именно так.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий