перенаправление поддоменов в подпапки, не содержащие index.php с .htaccess - PullRequest
1 голос
/ 05 декабря 2011

Я получаю 500 внутренняя ошибка сервера со следующим:

RewriteCond %{HTTP_HOST} ^data\.mysite\.com$ [NC]
RewriteRule ^(.*)$ data/$1 [L,QSA]

----------------- ???когда я заменяю строку RewriteRule следующим образом:

RewriteRule ^(.*)$ data/index.php?r=$1 [L,QSA]

, это работает, но в реальном случае у меня не будет index.php в папке, у меня будут папки, содержащие изображения ...

Любая идея ??Оригинальный вопрос здесь

1 Ответ

1 голос
/ 06 декабря 2011

Ваши правила перезаписи цикличны, каждый раз, когда перезаписывается URI, он применяется ко всем правилам до тех пор, пока правила не изменят URI. Поэтому, когда вы запрашиваете / что-то , применяется правило перезаписи, и URI изменяется на / data / что-то , затем оно пересылается через механизм перезаписи, а затем переписывается в / data / data / что-то затем / data / data / data / что-то и т. Д. В конечном итоге mod_rewrite достигнет своего предела рекурсии и вернет ошибку 500 сервера. Вы можете попробовать несколько вещей, чтобы завершить цикл, предполагая, что вы действительно хотите добавить только один / data / в начале. Вы можете добавить одно из следующего перед вашим RewriteRule

RewriteCond %{REQUEST_URI} ^/data

или

RewriteCond $1 ^/data
...