Перезапись .htaccess для папки также влияет на ее подпапки - PullRequest
1 голос
/ 22 октября 2011

У меня есть PHP-файл, расположенный в папке ("www.mysite.com/folder/test.php"), который принимает аргумент get (str) и позволяет печатать.Для того, чтобы сделать SEO оптимизированными для URL, я пытаюсь переписать его так:

RewriteBase /
RewriteRule ^folder/(.*)$ folder/test\.php?str=$1&%{QUERY_STRING} 

правило перезаписи работает нормально, проблема в том, что мне нужно получить доступ к подпапке этой папки.например, если в test.php есть изображение, которое находится по адресу www.mysite.com/folder/images/img.jpg, то в соответствии с приведенным выше правилом оно берет images / img.jpg и передает его в файл php.

как можно это предотвратить?

Ответы [ 2 ]

2 голосов
/ 23 октября 2011

Посмотрите на:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

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

1 голос
/ 22 октября 2011

Когда вы говорите «любой персонаж», он думает, что вы действительно имеете в виду ЛЮБОЙ ХАРАКТЕР .

RewriteRule ^folder/([^/]*)$ folder/test\.php?str=$1&%{QUERY_STRING} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...