Пропустить папку и несколько скриптов в mod_rewrite

1

У меня есть следующая проблема. Мой.htaccess выглядит так

RewriteEngine On

RewriteBase /phpuserarea/

RewriteCond %{REQUEST_URI} !^mod/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1?%{QUERY_STRING} [L]


ErrorDocument 404 /phpuserarea/404/index.php

Но всякий раз, когда я пытаюсь получить прямой доступ к чему-либо в каталоге mod сервер отвечает на 404.

Другая проблема заключается в том, что помимо index.php я хочу разрешить прямой доступ, чтобы сказать testa.php и testb.php

Это мои файлы ajax, и я не могу найти решение.

спасибо

Теги:
.htaccess
mod-rewrite

1 ответ

1
Лучший ответ

Имейте это так:

ErrorDocument 404 /phpuserarea/404/index.php
RewriteEngine On
RewriteBase /phpuserarea/

RewriteCond %{REQUEST_URI} !/mod/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [L]

Вам нужно привести косую черту в RewriteCond %{REQUEST_URI} и лучше не использовать anchor ^ поскольку ваш.htaccess находится внутри /phpuserarea/.

Также вам не нужно использовать ?%{QUERY_STRING} в целевом объекте, так как строка запроса автоматически передается цели, если ваше правило не перезаписывает ее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню