2016-11-18 61 views
1

我有以下.htaccess文件,雖然我知道它遠不是最佳(可能有點嚇人) - 它只是工作。修改現有的.htaccess,以便它忽略子域名

# Prevents public viewing of .htaccess file 
<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 

# Custom 404 page 
ErrorDocument 404 https://www.domain.com/404/ 

# Turn on rewriting and set rewriting base 
RewriteEngine On 
RewriteBase/

# Force WWW 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} ^([^.]+)\.([a-z]{2,4})$ [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=302,L] 

# Force WWW and HTTPS 
RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteRule^https://www.domain.com%{REQUEST_URI} [R=301,L] 

# Remove .php extension 
RewriteRule ^(properties)/(all|location1|location2|location3)/(all|1|2|3|4|5|6|7|8|9)/(asc|desc) $1.php?location=$2&bedrooms=$3&sort-by=$4 
RewriteRule ^(properties)/(all|location1|location2|location3)/(all|1|2|3|4|5|6|7|8|9) $1.php?location=$2&bedrooms=$3 
RewriteRule ^(properties)/(all|location1|location2|location3) $1.php?location=$2 
RewriteRule ^(view-property)/(.*)/(print-view) $1.php?id=$2&print=true 
RewriteRule ^(view-property)/(.*)/ $1.php?id=$2 
RewriteRule ^(.*)/$ $1.php 

我們的新網站現在已準備好推送到我們新創建的登臺環境進行測試。在這種情況下,它將是staging.domain.com,但我們在實際訪問此登臺URL時遇到問題。

編輯 - 只是爲了澄清,問題是,訪問staging.domain.com重定向到https://www.domain.com

我們認爲這個問題是由我們上面的重寫規則引起的。我已經研究了幾個可能的解決方案包括增加額外的條件,現有的重寫規則,如:

RewriteCond %{HTTP_HOST} !^staging\.domain\.com

或添加新條件/規則,例如:

RewriteCond %{HTTP_HOST} ^staging\.domain\.com [NC] 
RewriteRule ^(.*) - [L] 

但遺憾的是沒有這些已經工作了。使用.htaccess文件實際上並不是我的強項,所以如果任何人都可以提供任何好的幫助。

P.S.新網站由Laravel 5.3提供支持,所以在我們上線時,我將擺脫重寫規則(底部的那些)的可怕嘗試!

回答

1

你頂的規則必須改變,這在目標URL刪除硬編碼的域名:

# Turn on rewriting and set rewriting base 
RewriteEngine On 
RewriteBase/

# Force WWW and HTTPS 
RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L,NE] 

# Remove .php extension and rest of the rewrite rules 
+0

我已經改變了上述規則,並同時直播現場繼續按預期工作,詳細,分期URL' staging.domain.com'繼續直接重定向到「https:// www.domain.com」。 –

+0

使用'curl'返回以下結果:'<!DOCTYPE HTML PUBLIC 「 - // IETF // DTD HTML 2.0 // EN」> 301移至永久

移至永久

該文件已經移動here

' –

+0

您的.htaccess中是否還有任何重定向規則?我的回答沒有重定向到'https:// www.tynesidelettings.com /' – anubhava