Разрешить URL, чтобы избежать правила mod_rewrite в .htaccess

В дополнение к веб-доступу через мои доменные имена, мой интернет-провайдер предоставляет доступ к моему веб-сайту через следующий формат: user.hostname.comгде userмое имя пользователя и hostnameмой провайдер. Я написал правило перезаписи автоматически переназначить user.hostname.comна www.mydomain.com, и это хорошо работает. Однако, как мне представляется, для просмотра статистики на моем сайте, мой интернет-провайдер требует от меня доступа user.hostname.com/stats/index.html. С моими правилами перезаписи это изменилось, www.mydomain.com/stats/index.htmlи я не могу получить доступ к странице статистики.

Можно ли придумать способ user.hostname.com/statsпропустить без изменений, переписывая все остальные user.hostname.comзапросы?

Спасибо.

13.10.2009 13:28:45
1 ОТВЕТ

Попробуйте это, если используете Apache 2.2+:

RewriteRule ^/stats(|/.*)$ - [last]
# After that the other rewrites...

До Apache 2.2 mod_rewrite, по-видимому, не поддерживал '-' (тире) в шаблоне подстановки. В этом случае используйте следующее правило:

RewriteRule ^/stats(|/.*)$ /stats$1 [last]
4
15.10.2009 09:59:08
Спасибо. Только что попробовал ваше предложение, но оно выдает ошибку неверной конфигурации сервера. Есть еще идеи?
James 13.10.2009 16:56:25
У меня работает, с Apache 2.2.11. Какую версию Apache вы используете? Если у вас есть другие работающие RewriteRules, можете ли вы вставить сюда пример conf?
Eemeli Kantola 14.10.2009 13:28:44
Единственной информацией, опубликованной ISP, является Debian Linux 4.0 Apache. rewritecond% {http_host} ^ пользователь \ .hostname \ .com [nc] rewriterule ^ (. *) $ mydomain.org/$1 [r = 301, nc] rewritecond% {http_host} ^ www \ .hostname \ .com [nc ] rewriterule ^ (. *) $ mydomain.org/$1 [r = 301, nc] перезапись второй% {http_host} ^ mydomain \ .org [nc] rewriterule ^ (. *) $ mydomain.org/$1 [r = 301, nc] rewritecond% {http_host} ^ mydomain \ .com [nc] rewriterule ^ (. *) $ mydomain.org/$1 [r = 301, nc] rewritecond% {http_host} ^ www.mydomain \ .com [nc] rewriterule ^ (. *) $ mydomain.org/$1 [r = 301, nc]
James 14.10.2009 16:54:18
Спасибо, что еще раз посмотрел на это. Извините за отсутствие разрывов строк - я не вижу, как оставить комментарий и оставить разрывы без изменений.
James 14.10.2009 16:57:14
Через чат с моим провайдером я смог определить, что они используют Apache версии 1.3.33
James 14.10.2009 17:29:31