Перенаправляет с .htaccess останавливает загрузку изображений - PullRequest
0 голосов
/ 23 февраля 2011

ОК. Итак, я надеюсь перенаправить следующее:

http://www.example.org/tag/code

На следующее:

http://www.example.org/tag.php?tag=code

Следующее регулярное выражение представляет собой смесь некоторых ответов на этот вопрос, которая решает проблему:

Options +FollowSymLinks
RewriteEngine On

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

RewriteRule (.+)/ $1.php [L,NC]
RewriteRule (.+)/(.+) $1?tag=$2 [L,NC]

Однако теперь, когда я пытаюсь загрузить изображение из моегосервер, который находится в каталоге http://www.example.org/img/imagename.png.Это дает мне 500 Internal Server Error, и при проверке журналов мне выдается следующее сообщение:

[Ср. 23 февраля 12:27:27 2011] [ошибка] [клиент xx.xx.xx.xx] mod_rewrite: максимальное количество внутренних перенаправлений.Предполагая ошибка конфигурации.Используйте «RewriteOptions MaxRedirects» для увеличения лимита, если необходимо.

Кто-нибудь знает, что там происходит?

Спасибо

Ответы [ 3 ]

3 голосов
/ 23 февраля 2011

Попробуйте:

RewriteRule (.+?)/(.+) $1.php?t=$2 [L,NC]
1 голос
/ 23 февраля 2011

Над вашими RewriteRule добавьте эти 2 строки:

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

Они скажут mod_rewrite игнорировать реальные файлы и каталоги. Это должно исправить вашу / img / проблему.

Вам не нужно RewriteCond $1 (^/include/) с этими строками.

Чтобы исправить папку /img, попробуйте следующее:

RewriteRule ^file/img/(.*)$ /img/$1 [L]
0 голосов
/ 23 февраля 2011

Вы пробовали это?

Опции + FollowSymLinks ПереписатьEngine On

RewriteRule (.+)/(.+) $1.php?t=$2 [L,NC]
RewriteRule (.+)/ $1.php [L,NC]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...