Проблема с mod_rewrite. Помогите кто-нибудь, а?

12
BR
На сайте с 21.05.2004
Offline
6
956

Пытаюсь прописать правила для программки in .htaccess

что-то не могу сообразить ...может ошибку какую я делаю .....

Для всех остальных страниц все работает суперски , а с этим замучалась что-то

---------------------------------------------------

Для примера : Мне нужно сделать из :

--------/index.php?module=photoshare&func=showimages&fid=2

скажем , photo2.html или что-то подобное

---------------------------------------------------

Глнньте кто-нить свежим взглядом , а ?

кусок .htaccess

-----------------------------

# photoshare

RewriteRule ^photo-([^-]+)\.html$ /index.php?module=photoshare=$1 [L,NC,NS]

RewriteRule ^photo-([^-]+)-([^-]+)-([^-]+)\.html$ /index.php?module=photoshare&func=showimages&fid=$1&$2=$3 [L,NC,NS]

этот вариант - не работает

Где ошибка ......

-=Илья=-
На сайте с 05.12.2003
Offline
222
#1

Сама-то программа линки генерить правильные?

[Удален]
#2

Ну там в первом правиле правая часть странная какая-то, наверно имелось ввиду /index.php?module=photoshare&func=showimages&fid=$1

BR
На сайте с 21.05.2004
Offline
6
#3
Как писал -=Илья=-
Сама-то программа линки генерить правильные?

да,все остальное работает отлично

M
На сайте с 07.06.2005
Offline
14
#4

Памагите! (брат по несчастью blue_river'а)

В root файл .htaccess

Options -Indexes

AddType image/x-icon .ico

Options +FollowSymlinks

RewriteEngine On

#RewriteBase /

RewriteRule ^docs/(.*)$ docs/document_test.php?id=$1

на запрос docs/101 Ответ $1=document_test.php почему?

А при

RewriteRule ^docs/([0-9]+)$ docs/document_test.php?id=$1

Ответ $1=101 почему?

p.s. mod_rewrite делали волшебники (из страны ОЗ :) )

[Удален]
#5

Надо [L] ставить в конце правила, чтобы он повторно к полученному не пытался его применять.

M
На сайте с 07.06.2005
Offline
14
#6

blue_river,

попробуй ключ [QSA]. 95% поможет.

Interitus, ключ [L] не помогает, работает так:

RewriteRule ^docs/(.+)$ docs/document_test.php?id=$1 [QSA]

Почему? [qsa] ведь для другого предназначен (всю документацию перечитал)... :(

p.s. и все же mod_rewrite делали волшебники :)

И еще вопрос http://www.сайтец.ru/article/10000512 такой нормальный или делать http://www.сайтец.ru/article/10000512/ (на конце слэш) ?

[Удален]
#7

Ну это тоже через задницу сделано. Надо либо писать [0-9]+ в шаблоне, либо можно попробовать [L,NS] указать параметры.

M
На сайте с 07.06.2005
Offline
14
#8

Interitus, про слэш ничего не подскажешь?

И еще вопрос http://www.сайтец.ru/article/10000512 урл такой нормальный или делать http://www.сайтец.ru/article/10000512/ (на конце слэш) ? (очень важно)

Про qsa разобрался... (просто хоть кто-то документацию все же нормально перевел :) )

p.s. флаги [L,NS] для моего случая не работают. NS видимо только для фильтрации внутр. запросов, т.е. ускорялка.

[Удален]
#9

marvelent, сделай, чтобы и со слешом и без было доступно.

Насчет флагов - у тебя в итоге запрос docs/101 преобразуется в docs/document.php?id=&id=101, если с QSA. Нехорошо так делать. А почему ты по-нормальному не хочешь сделать?

M
На сайте с 07.06.2005
Offline
14
#10

Тут еще вопрос образовался: если файл без расширения типа docs/101 то он .htaccess в игнор и выводит docs/101.txt (который там же лежит). Это можно исправить или файл 101.txt переносить ?

По поводу слэша docs/101/ это уже следующая директория и все мои относительные пути уезжают на один порядок вверх...

типа ../style.css будет зырить в docs а не в корень. :(

через время...

p.s. на первый вопрос: отрубил multiviews это хорошо ?

12

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