皆さん、私は正しい仮想ドメイン サブ htaccess ファイルを使用しています。助けてください (htaccess ファイルの内容を読みましたが、混乱しすぎています)。
入力 => http://www.example.com/
読み込み => http://www.example.com/index.php
入力 => http://sample.example.com/
読み込み => http://www.example.com/directory/sample/index.php
htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.lidlike.com
RewriteCond %{HTTP_HOST} ^([^.]+).lidlike.com
RewriteRule ^$ /index.php?name=%1 [L]
要件が 2 つあります。
Enter => http://www.example.com/
Load => http://www.example.com/
Enter => http://sample.example.com/
Load => http://www.example.com/directory/sample/
2 番目のケース: PHP でサブドメイン名を取得する
index.php
<?php
$SubName=$_GET['name'];
?>
わかったけど理解できない
Options +FollowSymLinks -Multiviews
RewriteEngine on
RewriteBase /
#
# Canonicalize the hostname
RewriteCond www.%{HTTP_HOST} ^(www)\.(example\.com) [OR]
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.(example\.com) [OR]
RewriteCond %{HTTP_HOST} ^([^.]+)\.www\.(example\.com) [OR]
RewriteCond %{HTTP_HOST} ^([^.]+)\.(example\.com). [OR]
RewriteCond %{HTTP_HOST} ^([^.]+)\.(example\.com):[0-9]+
RewriteRule (.*) http://%1.%2/$1 [R=301,L]
#
# If subdomain is NOT www
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
# Extract (required) subdomain to %1
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$
# Rewrite if requested URL resolves to existing file or subdirectory in /subdomains/<subdomain>/ path
RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/$1 -d
RewriteRule (.*) /subdomains/%1/$1 [L]