[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mod_rewrite / ЧПУ
AllesKlar
Вот и пришел мой черед запостить 100500-ю тему с таким названием :)
Полдня гуглю, эксперементирую, неробит :(

Задача:
Любые ссылки, при любых условиях должны быть переадресованы на index.php?api=......

Последний вариант был такой:

.htaссess
RewriteEngine on 
RewriteRule ^(.*)$ index.php?api=$1 [L,QSA]


Вызовы имеют вид site.com/apiname?param1=value1&....&paramN=valueN
Проблема в том, что если существует apiname.php , то условие не срабатывает и выкидывает на 404

// Апач на Debian

_____________
[продано копирайтерам]
Arh
У меня такой.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?furl=$1 [L,QSA]
</IfModule>


Сначала проверяет не папка или не файл ли это.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
AllesKlar
Arh
Ну классно. Когда мне нужно будет проверять не папка ли это или не файл, обязательно воспользуюсь.
А пока что:
Цитата
Проблема в том, что если существует apiname.php , то условие не срабатывает и выкидывает на 404


_____________
[продано копирайтерам]
inpost
AllesKlar
http://stackoverflow.com/questions/1340001...xcept-index-php

Там с примерами через FilesMatch

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Arh
AllesKlar
сорри не так понял, думал если к файлу обращаешься, .htaссess всё равно перебрасывает на index, от чего и ошибка =)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
AllesKlar
inpost
Там стоит вопрос об запрете доступа к любым .php файлам, кроме index.php
У меня другая задача: при любом условии провести переадресацию на index.php

Т.е. стандартный чпу, но без контроля на существование файла.

UPD:
А если вызвать напрямую файл, то происходит преобразование:
site.com/apiname.php
print_r($_GET);
//Array
//(
// [api] => apiname.php
//)



Издевается? :(

_____________
[продано копирайтерам]
forza
Попробуйте такой вариант, если я вас правильно понял.
http://snipplr.com/view/344/

_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.