PHP와 Htaccess를 사용하여 동적 하위 도메인 생성
(1) 루트 .htaccess
이 파일은 홈페이지 사용을 위해 http://www.yourwebsite.com 에서 http://yourwebsite.com 으로 리디렉션됩니다 . yourwebsite_folder 로의 모든 하위 도메인 리디렉션
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com
RewriteRule (.*) http://yourwebsite.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^yourwebsite\.com $
RewriteCond %{REQUEST_URI} !^/yourwebsite_folder/
RewriteRule (.*) /yourwebsite_folder/$1
RewriteCond %{HTTP_HOST} ^(^.*)\.yourwebsite.com
RewriteCond %{REQUEST_URI} !^/yourwebsite_folder/
RewriteRule (.*) /yourwebsite_folder/$1
(2) 내부 폴더 .htaccess
이 파일은 하위 도메인 URL을 다시 작성합니다.
http://yourwebsite.com/index.php?siteName=9lessons
to
http://9lessons.yourwebsite.com
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([aA-zZ])$ index.php?siteName=$1
RewriteCond %{HTTP_HOST} ^(^.*)\.yourwebsite.com
RewriteRule (.*) index.php?siteName=%1
더 많은 .htaccess 팁 : Htaccess 파일 튜토리얼 및 팁.
index.php
이 파일에는 하위 도메인 값을 확인하는 정규식을 사용하는 간단한 PHP 코드가 포함되어 있습니다.
<?php
$siteName='';
if($_GET['siteName'] )
{
$sitePostName=$_GET['siteName'];
$siteNameCheck = preg_match('~^[A-Za-z0-9_]{3,20}$~i', $sitePostName);
if($siteNameCheck)
{
//Do something. Eg: Connect database and validate the siteName.
}
else
{
header("Location: http://yourwebsite.com/404.php");
}
}
?>
//HTML Code
<!DOCTYPE html>
<html>
<head>
<title>Project Title</title>
</head>
<body>
<?php if($siteNameCheck) { ?>
//Home Page
<?php } else { ?>
//Redirect to Subdomain Page.
<?php } ?>
</body>
</html>
하위 도메인 폴더가 없음
루트 디렉토리 (htdocs / public_html)를 프로젝트 디렉토리로 사용하는 경우 다음 .htaccess 파일을 사용하십시오.
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com
RewriteRule (.*) http://yourwebsite.com/$1 [R=301,L]
RewriteRule ^([aA-zZ])$ index.php?siteName=$1
RewriteCond %{HTTP_HOST} ^(^.*)\.yourwebsite.com
RewriteRule (.*) index.php?siteName=%1