| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > wildcard-поддомены и htaccess |
| Автор: vandroid 8.5.2009, 17:35 |
| Здравствуйте! Помогите пожалуйста разобраться с проблемой: Пытаюсь сделать wildcard-поддомены (в соответствии с http://www.easymodrewrite.com/example-subdomains). DNS настроили, затем VirtualHost: <VirtualHost *:80> DocumentRoot "/home/user/www" ServerName site.ru ServerAlias www.site.ru site.ru *.site.ru LogLevel debug ErrorLog /home/user/log/error.log </VirtualHost> И .htaccess: ErrorDocument 404 /404.html DirectoryIndex index.php Options +Indexes Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !www.site.ru$ [NC] RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9_-]+).site.ru [NC] RewriteRule (.*) %2/$1 [L] По идее, поддомены domain.site.ru должны реврайтиться в папки вида site.ru/domain/ Суть проблемы в том, что если папка существует, то все ОК. А если ее нет - должна ведь выдаваться ошибка 404? Но вместо этого выдается 500 Internal Server Error. Лог ошибок: [Fri May 08 17:09:23 2009] [error] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. [Fri May 08 17:09:23 2009] [debug] core.c(3046): r->uri = /ggg/ggg/ggg/ggg/ggg/ggg/ggg/ggg/ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ggg/ggg/ggg/ggg/ggg/ggg/ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ggg/ggg/ggg/ggg/ggg/ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ggg/ggg/ggg/ggg/ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ggg/ggg/ggg/ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ggg/ggg/ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ggg/ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = /ggg/ [Fri May 08 17:09:23 2009] [debug] core.c(3052): redirected from r->uri = / Я так понимаю, ggg.site.ru переписывается в site.ru/ggg, эту папку апач найти не может и начинает обработку реврайта по новой? Почему так? И как сделать, чтобы не найдя ее, сервер просто выдал 404? |
| Автор: Nigel 12.5.2009, 11:54 | ||||
Попробуйте поменять последнюю строчку на
и ServerAlias можно сделать так
|