[英].htaccess HTTPS redirect without changing url
我有一個主域mydomain.com和一個子域m.mydomain.com , 兩者均受SSL保護。
當我訪問子域m.mydomain.com時,我希望在mydomain.com/mobile.php/nb上進行重定向,而無需更改網址...因此,該網址必須保留為m.mydomain.com
這是我的想法:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^m\.mydomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.m\.mydomain\.com$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ "https\:\/\/mydomain\.com\/mobile\.php\/nb$1" [R=301,L]
它會正確地重定向我,但不會保留子域的網址。
我發現的所有解決方案僅在站點不安全(http)的情況下才有效。
它可以但不應通過.htaccess文件完成。
這通常是在您的vhost配置文件中完成的
<VirtualHost *:80>
ServerName www.example.com
Redirect / https://secure.example.com/
</VirtualHost>
<VirtualHost _default_:443>
ServerName secure.example.com
DocumentRoot /usr/local/apache2/htdocs
SSLEngine On
# etc...
</VirtualHost>
mod-rewrite R
標志執行url從舊位置到新位置的外部重定向。 如果您不想重定向子域,請從RewriteRule中刪除R=301
標志,並使用絕對路徑而不是完整URL作為重寫目標。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?m\.mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[ 0- 9a -zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0- 9]{ 32 }\.txt(?:\Comodo\DCV)?$
RewriteRule ^(.*)$ /mobile.php/nb/$1 [L]
這將在內部將www.m.domain.com
或m.domain.com
重定向到/mobile.php/nb/
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.