Вопрос по модреврайт

P8
На сайте с 19.01.2008
Offline
10
976

Как сделать чтобы ссылка вида site.com/file.php отображалась как site.com/file/

Пробовал так:

^auth/$ auth.php [QSA]

Не выходит.. Почему?

KF
На сайте с 06.10.2007
Offline
40
#1

RewriteRule ^file$ file.php

P8
На сайте с 19.01.2008
Offline
10
#2

Это будет преобразовывать в ссылки типа site.com/file

А как в конец добавлять слеш чтобы было site.com/file/

??

Platon_82 добавил 12.02.2008 в 02:04

Может кто-нибудь обьяснить в чем ошибка?

RewriteRule ^(auth)/$ $auth.php

RewriteRule ^([a-z]{4})/$ $auth.php

Во всех выше приведенных мной правилах со слешем не грузится страница (404ошибка), а без грузится.

Мистика!

KF
На сайте с 06.10.2007
Offline
40
#3
RewriteRule ^(auth)/$ $auth.php

Перед auth.php зачем стоит бакс?

Во всех выше приведенных мной правилах со слешем не грузится страница (404ошибка)

ну правильно, у тебя в регулярке прописан слеш

^(auth)/$

RewriteRule ^(auth)/$ $auth.php
RewriteRule ^([a-z]{4})/$ $auth.php

Зачем тут первое условие?

А как в конец добавлять слеш чтобы было site.com/file/

попробуй так


RewriteEngine On
RewriteRule ^(\w{4})(/|)$ 2.php
P8
На сайте с 19.01.2008
Offline
10
#4

В Вашем варианте пишет Internal Server Error

Пробовал так:

RewriteRule ^([a-z]+)/*$ $1.php

на сервере работает нормально а на локоальном хосте с слешем в конце не хочет. Почему?

KF
На сайте с 06.10.2007
Offline
40
#5
Platon_82:

RewriteRule ^([a-z]+)/*$ $1.php

У меня так вообще не пашет, ни на локалке ни на сервер..

зато пашет так

RewriteRule ^([a-z]+)/*$ 1.php

зачем вы добавляетe бакс перед 1.php, из-за него и неправильно работает код

ixRock
На сайте с 14.11.2006
Offline
46
#6

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /$1.php [L, QSA]

также советую почитать про mod_rewrite здесь:

http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html

Работаю [S]за еду и секас[/S] с XHTML, CSS, XSLT, JS, PHP. Если что, вот тут (http://www.mintdesign.ru/) некоторые мои работы. Контакты: ася 344-ноль86-276, мыло ixrock@gmail.com
Shtogrin
На сайте с 02.11.2006
Offline
95
#7
KeFiR:
зачем вы добавляетe бакс перед 1.php, из-за него и неправильно работает код

Наверно потому что $1 это значение того что встретилось слева в скобках.

ixRock, /file/ -> /file/.php ?

Platon_82

Если хотите получить правильный ответ, то напишите задачу полностью. Несколько приведенных неправильных решений не описывают того что именно вы хотите получить.

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
ixRock
На сайте с 14.11.2006
Offline
46
#8

2 Shtogrin: ой ну не надо к мелочам придираться, пусть будет так:

RewriteRule ^([a-z0-9_-]+)/?$ /$1.php [L, NC, QSA]

Shtogrin
На сайте с 02.11.2006
Offline
95
#9
ixRock:
2 Shtogrin: ой ну не надо к мелочам придираться, пусть будет так:
RewriteRule ^([a-z0-9_-]+)/?$ /$1.php [L, NC, QSA]

При чем здесь мелочи? Посмотрите хотябы приведенные здесь адреса, получите то что я написал. К тому же я более чем уверен что ТС эти общие правила не нужны.

PB
На сайте с 05.04.2006
Offline
51
#10

ixRock, : -)) да уж, неаккуратненько.

Shtogrin, ну что Вы, ей богу, как маленький. Узнать чего человек хочет — это ж несбыточная мечта. : -))

Сайт находится в разработке. (http://www.e-anatomy.ru)

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