2014-08-30 3 views
0

Я искал StackOverflow перед отправкой эту тему, но я не заладилась: -Sза исключением подобласть из Htaccess перенаправить

У меня есть веб-сайт со сложным .htaccess файл, как показано ниже:

Эта часть для перенаправления (X.2nate точка ком -> 2nate точка ком/апи/х), и это хорошо работает

########### API Redirection Section ########## 

RewriteEngine On 
# Extract the subdomain part of domain.com 
RewriteCond %{HTTP_HOST} ^([^\.]+)\.2nate\.com$ [NC] 
# Check that the subdomain part is not www and ftp and mail 
RewriteCond %1 !^(www|ftp|mail|charge)$ [NC] 
# Redirect all requests to the original url /blog 
RewriteRule ^.*$ https://2nate.com/api/%1 [L] 

Эта часть предназначена для перенаправления не-SSL запросы протокола SSL:

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

И эта часть для перенаправления с WWW, чтобы не-WWW адрес:

RewriteCond %{HTTP_HOST} ^www\.2nate\.com$ 
RewriteRule ^/?$ "http\:\/\/2nate\.com\/" [R=301,L] 

и проблема:

, когда я пытался получить доступ к «заряд» точка МойВебСайт точка ком (заряд реальный субдомен в моем хосте) Я не могу получить доступ к связанной странице и перенаправлять ее на главную страницу!

Я думаю, что проблема с этой частью:

RewriteCond %{HTTP_HOST} ^www\.2nate\.com$ 
RewriteRule ^/?$ "http\:\/\/2nate\.com\/" [R=301,L] 

Потому что, когда я удалить эту часть, все в порядке (кроме перенаправления на не-WWW).

Любые полезные советы.

ответ

0

Проблема на самом деле это правило:

RewriteRule ^.*$ https://2nate.com/api/%1 [L] 

Поскольку вы используете http:// в целевой URL не молчаливый переписан, но будет внешний редирект.

Есть свой .htaccess, как это:

RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

RewriteCond %{HTTP_HOST} ^www\.2nate\.com$ 
RewriteRule^http://2nate.com%{REQUEST_URI} [R=301,L,NE] 

# Extract the subdomain part of domain.com 
RewriteCond %{HTTP_HOST} ^((?!www)[^.]+)\.2nate\.com$ [NC] 
# Check that the subdomain part is not www and ftp and mail 
RewriteCond %1 !^(www|ftp|mail|charge)$ [NC] 
# Redirect all requests to the original url /blog 
RewriteRule ^.*$ /api/%1 [L] 
+0

Спасибо за ваше время, но он не работает так, как я хочу. Это просто влияет на неактивное/внешнее перенаправление (я не хочу менять эти настройки). Я просто хочу иметь доступ к платежу.2nate.com. –

+0

У меня есть еще один настоящий субдомен «blog» -dot-mywebsite-dot-com, и он работает хорошо. –

+0

Думаю, теперь у меня нет твоей проблемы? Какой URL-адрес не работает для вас? – anubhava

Смежные вопросы