Помогите решить простенькую задачу с .htaccess

KA
На сайте с 18.10.2012
Offline
0
269

Допустим есть адрес: http://site.ru/section/subsection/page1.html

Мне нужно что бы .htaccess передал в index.php всё что стоит после доменного имени. То есть что бы получилось: index.php?id=section/subsection/page1.html

Сейчас у меня есть такой код:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]

RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]

RewriteRule ^(.*).html$ index.php?id=$1 [L]

RewriteRule ^.htaccess$ - [F]

Но он возвращает index.php?id=section/subsection/page1

Никак не получается его переделать под свои нужды.

---------- Добавлено 18.10.2012 в 10:20 ----------

Ну с этим уже вроде сам разобрался:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?id=$1 [L]

Но есть ещё один момент: Если адрес будет вида http://site.ru/section/subsection/page1.php?p=1, то передастся только секция section/subsection/page1.php, а как сделать что бы и p=1 тоже передалось?

---------- Добавлено 18.10.2012 в 10:29 ----------

Ну походу я сам и ответил на свой вопрос:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?id=$1&%{QUERY_STRING} [L]

На первый взгляд вроде работает. Может было бы лучше что-то добавить или поменять?

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