Нужна помощь истинных магов ВУДУ ( mod_rewrite)

mendel
На сайте с 06.03.2008
Offline
183
666
«Несмотря на тонны примеров и документацию,
mod_rewrite это Вуду. Чертовски клёвый Вуду,
но все-таки Вуду.» -- Brian Moore

Все советуют что-то.... все советы не работают. Прошу конкретный рабочий код а не "а вы пробовали вот так вот? Пробовали? Ну ладно.... Пациент перед смертью потел? Это хорошо..."

В общем вопрос такой:

Хочу чтобы все запросы с определенными расширениями шли на index.php

Проблема появляется в том, что в списке расширений фигурирует .php - в результате бесконечный цикл.

Мой код:

# ***********************************************************************

# ***********************************************************************

# *** Все html, php, htm, tpl и папки (заканчивающиеся на /) ***

# *** переадресуем на index.php для обработки ЧПУ и защиты. ***

# *** (c) 2012 Mendel AKA Max Dyachenko. ***

# ***********************************************************************

# ***********************************************************************

RewriteEngine on

Options +FollowSymlinks

RewriteBase /

#

RewriteRule ^.*\.html$ /index.php [L,QSA]

RewriteRule ^.*\.htm$ /index.php [L,QSA]

RewriteRule ^.*\.tpl$ /index.php [L,QSA]

RewriteRule ^.*/$ /index.php [L,QSA]

#

#RewriteRule ^.*\.php$ /index.php [L,QSA]

Когда я раскоментирую последнюю строчку - всё валится.

Шутку любишь над Фомой, так люби и над собой. (с) народ. Бесплатные списки читабельных(!) свободных доменов (http://burzhu.net/showthread.php?t=2976) (5L.com) Сайты, All inclusive. 5* (/ru/forum/962215)
IL
На сайте с 20.04.2007
Offline
435
#1

магию вуду не знаю, но такое работает...

RewriteCond %{REQUEST_FILENAME} !index.php$
RewriteRule ^.*\.php$ index.php [L,QSA]
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
mendel
На сайте с 06.03.2008
Offline
183
#2

Шайтан!

Заработало!

У меня было

RewriteCond %{REQUEST_FILENAME} !^index.php$

Взял в каком-то мане.... почему оно с символом начала не работает не понял, ну да и черт с ним.

СПАСИБО!

IL
На сайте с 20.04.2007
Offline
435
#3
mendel:
Взял в каком-то мане.... почему оно с символом начала не работает не понял, ну да и черт с ним.

* если админка в каталоге и тоже index.php - возможно, потребуется "доработать" :)

А с ^началом не работало, тк.. REQUEST_FILENAME содержит полный путь к файлу (вместе с /home/.. или /var/www..) - его и прописать, если будет нужен вход в админку. :)

mendel
На сайте с 06.03.2008
Offline
183
#4

хм..... индекс.пхп левых у меня не будет.

Интересно что вот такой вот синтаксис http://сайт.ру/dbtest.php/index.php

отрабатывается правильно - отправляет на индекс.пхп :)

Что в принципе логично, вуду работает с путями а не со ссылками...

Но вот такой вот: http://сайт.ру/dbtest.php/index.php/readme.txt вызывает dbtest.php

Нихрена я не понимаю в колбасных обрезках....

IL
На сайте с 20.04.2007
Offline
435
#5
mendel:
Но вот такой вот: http://сайт.ру/dbtest.php/index.php/readme.txt вызывает dbtest.php

А для .txt правило прописано?

mendel
На сайте с 06.03.2008
Offline
183
#6

нет конечно. Но какая разница? физически то это пхп....

ребятки пару лет назад очень много интересных рипов сделали через такую дырку..... мне показали просто потому что я был первый кто рассказал им что так можно ссылки оформлять.

Надо наверное переписывать совсем без маркеров начала и конца. Есть в теле нужные буквы и точка, значит наш клиент.....

IL
На сайте с 20.04.2007
Offline
435
#7
mendel:
нет конечно. Но какая разница? физически то это пхп....

Оно не попадает под правило

RewriteCond %{REQUEST_FILENAME} !index.php$

RewriteRule ^.*\.php$ index.php [L,QSA]

Заменить во второй строчке ^.*\.php$ на нужное (.*)

Не забыть про картинки, Css-ки, скрипты и тд.

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