Помогите пожалуйста! .htaccess

12
Talyma5
На сайте с 05.02.2007
Offline
55
865

Очень сильно захотел написать в .htaccess ЧПУ ссылки

Помогите пожалуйста с RewriteRule

У меня есть скрипт ( к примеру a.php ) как переписать его на /a/

Как только не пробовал, но я похоже дубовый... Подскажите

Flint
На сайте с 25.12.2002
Offline
98
#1

Вот так попробуй:


RewriteEngine On

RewriteRule ^([^/]*)(/?)+$ $1.php [L]
С уважением, Копылов Кирилл | ICQ - 505-982 | Тел. +7 (8412) 25-22-00
Talyma5
На сайте с 05.02.2007
Offline
55
#2

500 ошибка

...

Sergey Lomov
На сайте с 17.03.2007
Offline
6
#3
Talyma5:
Помогите пожалуйста с RewriteRule
У меня есть скрипт ( к примеру a.php ) как переписать его на /a/

Попробуй так (но /b/ выдавать уже не будет. 🚬 ):

RewriteEngine on
RewriteRule [a]/ a.php [L]

На сайте типа http://site.ru/a/ скрипт должен находится так http://site.ru/a.php и соответственно http://site.ru/.htaccess

B
На сайте с 26.12.2006
Offline
51
#4
Talyma5:
500 ошибка
...

500 ошибка это не 404 а ошибка скрипта, но всеже попробуй абсолютные пути

немого поправлю вышенаписанное:

RewriteEngine On


RewriteRule ^([^/]*)(/?)+$ /home/public_html/$1.php [L]
PHP,MySQL,JavaScript,AJAX
progress
На сайте с 11.07.2006
Offline
125
#5

RewriteCond (.*)\.php$ $1/ [L]

AVV
На сайте с 31.07.2006
Offline
84
AVV
#6

10 RewriteRule


RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^(.+)\.php$ $1/index.php [L]

или та же задача, только наоборот:


RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^(.+)/ $1.php [L]

или так:


RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^(.+)/index\. $1.php [L]
muar
На сайте с 15.04.2006
Offline
27
#7

если у вас купленный виртуальный хостинг - напишите хостеру скромненькое письмо вида:

"какие директивы поддерживаются вами для задания ЧПУ ссылок через htaccess?"

мне как-то попалась хостинг прощадка, где почти все директивы для htaccess были банально запрещены. так можно долго биться :)

genom
На сайте с 29.07.2004
Offline
92
#8
muar:
если у вас купленный виртуальный хостинг - напишите хостеру скромненькое письмо вида:
"какие директивы поддерживаются вами для задания ЧПУ ссылок через htaccess?"

мне как-то попалась хостинг прощадка, где почти все директивы для htaccess были банально запрещены. так можно долго биться

При отключенной директиве .htaccess не возникает 500-ая ошибка. И я так же никогда не встречал что бы хостеры отключали какие нибудь директивы, имхо бред. А вот есть такие вещи как мод_секъюрити, вот они порой режут запросы по разному.

Talyma5, Поэтому надо искать проблему в зацикливании и начинать с простых руллсов!

«Если бы делать было бы столь легко, как знать, что надо делать — часовни были бы соборами, хижины — дворцами» У.Шекспир
d1ma
На сайте с 18.03.2007
Offline
102
#9
Talyma5:
Очень сильно захотел написать в .htaccess ЧПУ ссылки
Помогите пожалуйста с RewriteRule
У меня есть скрипт ( к примеру a.php ) как переписать его на /a/

Как только не пробовал, но я похоже дубовый... Подскажите

не совсем понятно что вы хотите,

дословно ваш пример:


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^a\/$ a.php [L]
RewriteRule ^b\/$ b.php [L]
RewriteRule ^xy\/$ xy.php [L]
</IfModule>

если надо другие буквы, но не более одной подряд


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z])\/$ $1.php [L]
</IfModule>

если надо все не физические папки переписывать как скрипты:


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9_\-]*)\/$ $1.php [L]
</IfModule>

если надо без завершающего слеша что бы работало - по другому

если надо что бы подпапки работали - по другому

итд итп...

Talyma5
На сайте с 05.02.2007
Offline
55
#10

Еще вчера разобрался с проблемой, но спасибо за советы.

А решилось вот таким .htaccess

RewriteEngine On

RewriteRule ^a* a.php

RewriteRule ^bb* bb.php

RewriteRule ^order* order.php

RewriteRule ^price* price.php

RewriteRule ^about* about.php

RewriteRule ^info* info.php

Короче отдельно для каждого файла прописал свой RewriteRule

12

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