Разрешить определенный файл в htaccess, который перезаписывает все подкаталоги

#php #.htaccess

#php #.htaccess

Вопрос:

Не уверен, правильно ли я назвал свой вопрос. У меня такая структура каталогов:

example.com/edit/43424242/

Где число в конце на самом деле не является папкой. На самом деле это просто переменная, которую я хочу использовать в /edit/index.php каталоге.

Я попытался использовать это в моем файле .htaccess в корневом каталоге:

 RewriteEngine ON
RewriteRule %{QUERY_STRING} ^$
RewriteRule ^edit/(.*)/?$ edit/index.php?var=$1 [NC,L]
 

Но это не сработало, потому что это испортило мой AJAX post в другой файл в этом каталоге /edit/post.php

Поэтому я подумал, что, возможно, мне нужно изменить мой файл .htaccess, чтобы я мог по-прежнему извлекать подкаталоги как переменную и по-прежнему иметь возможность использовать post.php или, возможно, измените .htaccess так, чтобы он позволял index.php для общения с post.php .

Есть идеи?

Ответ №1:

 RewriteRule %{QUERY_STRING} ^$
 

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

Вы можете использовать это правило:

 RewriteEngine ON

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^edit/([w-] )/?$ edit/index.php?var=$1 [NC,L,QSA]