Правила RewriteRule

F
На сайте с 07.02.2012
Offline
33
857

Здравствуйте!

Не получается написать правильное правило. Требуется, чтобы url выглядели так:

http://site.ru/article1 (!без слеша в конце!)

http://site.ru/article2
...
http://site.ru/articleN

Содержимое htaccess:

AddDefaultCharset UTF-8

RewriteEngine on
RewriteRule ^(.*)$ index.php?page=$1

Подскажите пожалуйста, что нужно исправить\добавить? (тестируется на denwer, описанное правило игнорируется)

siv1987
На сайте с 02.04.2009
Offline
427
#1

Ваше правило вообще работает с абсолютно любым типом адресов, и нет никаких видимых причин чтобы оно не срабатывало.

C
На сайте с 04.02.2005
Offline
291
#2

Если оно последнее

Попробуйте

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

IL
На сайте с 20.04.2007
Offline
435
#3
(тестируется на denwer, описанное правило игнорируется)

А в чём это выражается? Что открывается - 404? rewrite_mod включен?

p.s. И да.. картинки, CSS-ки, robots, favicon итд тоже попадают под это правило.. Если всё разложено по каталогам, можно "игноров" перед ним поставить:

RewriteRule css/.* - [L]

RewriteRule ^robots.txt$ - [L]
#итд
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
F
На сайте с 07.02.2012
Offline
33
#4
Chukcha:
Если оно последнее

Попробуйте
RewriteRule ^(.*)$ index.php?page=$1 [L]

Добавление флага не помогло 🙅.

Если добавляю перед знаком '$' любой символ (не обязательно один), то правило начинает работать. В данный момент работает правило

RewriteRule ^(.*)\.html$ index.php?page=$1

преобразовывает httр://sitе.ru/pageN.html в httр://site.ru/index.php?page=pageN

Единственное, что мне нужно, это избавиться от '.html' в конце URL.

Возможно ли это сделать?

C
На сайте с 04.02.2005
Offline
291
#5

так не бывает...

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Или показывайте полное содержимое htaccess

F
На сайте с 07.02.2012
Offline
33
#6
ivan-lev:

p.s. И да.. картинки, CSS-ки, robots, favicon итд тоже попадают под это правило..

кстати, да! про то, что правило игнорируется, похоже я соврал. При наличии исходного(в моем 1 обращении) правила, ни CSS ни картинки не прогружаются.

Появились некоторые мысли, сейчас поэксперементирую..

---------- Добавлено 26.06.2012 в 11:09 ----------

в общем так и не могу понять, почему хвост URL'а не передается в качестве параметра.

httр://site.ru/parametr -> httр://site.ru/index.php?page=parametr.

А в чём это выражается? Что открывается - 404?

рядом с index.php создал файл с именем "parametr", он и загружается.

Структура папок:

www (папка)

---index.php (файл)

---parametr (файл, для эксперимента. Расширения не имеет.)

---pages (папка)

------parametr (файл, который подключается в index.php)

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