0
A
回答
4
如果您使用的是Apache Web服務器和和Fedora Linux,您必須執行以下操作
在你的dns中添加一個通配符條目。假設你的域名是demo.com的dns條目如
*.demo.com IN A 192.168.1.100
用你的ip替換ip。
然後anything.demo.com會來到您的服務器。
我們必須配置apache來處理子域。
對於我們必須
- 創建文檔根文件夾
- 創建虛擬主機文件和
- 重啓Apache
以下PHP每個子域是符合上述理念。
<?php
define('DOMAIN','demo.com');
define('DOCROOT','/home/username/www/');
define('CONF_FOLDER','/etc/httpd/conf.d/');
/*
* Function to create conf file in conf.d folder
*/
function createNewVhostFile($subdomain) {
$filename = CONF_FOLDER.$subdomain.'.conf';
$fh = fopen($filename, 'w') or die("can't open file");
$servername = $subdomain.".".DOMAIN;
$docroot = DOCROOT.$subdomain;
$virtualhost = <<<HEREDOC
<VirtualHost $servername >
DocumentRoot $docroot
ServerName $servername
ServerAlias $servername
</VirtualHost>
HEREDOC;
fwrite($fh, $virtualhost);
fclose($fh);
}
/*
* Function to restart apache
*/
function restartApache() {
$configtest = `apachectl configtest 2>&1`;
echo $configtest;
if(strtolower(trim($configtest)) == 'syntax ok'){
$restart = `/etc/init.d/httpd restart 2>&1`;
echo $restart;
}
}
/*
* Create document root folder.
*/
function createDocRoot($subdomain){
$docroot = DOCROOT.$subdomain;
if(is_dir($subdomain)){
echo "Document root allready exists.";
}else{
mkdir($docroot,644);
}
}
$subdomain = "sub";
createDocRoot($subdomain);
createNewVhostFile($subdomain);
restartApache();
?>
您必須以root用戶身份運行此腳本。在虛擬主機配置文件中,您可以添加更多選項。您也可以檢查similar question問題的答案。
希望有所幫助。
1
0
你實際上可以利用RewriteMap。它可以讓你映射域名(以及你想分支出來的情況)。
像這樣的東西應該工作 -
RewriteMap lowercase int:tolower
RewriteMap domainname txt:/var/conf/domain.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${domainname:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1 [L,NC,QSA]
現在你可以使用PHP或任何創造條件,按照這個格式文件domain.map -
<domain name> <targeted path on the server>
域/子域和目標服務器上的路徑。
因此,例如。
example.com /myvirtualhostingserver/examplesite
subdomain.demo.com /myvirtualhostingserver/subdomain
現在你只需要將example.com指向你的服務器!
此方法允許您保持子域文件夾的名稱與子域的名稱無關(完全取決於您的用例)。
相關問題
- 1. 亞馬遜ec2實例創建問題
- 2. 亞馬遜EC2自動縮放生產
- 3. 與亞馬遜EC2
- 4. 亞馬遜EC2鏈接到Bigrock域名
- 5. 亞馬遜AWS EC2自由層
- 6. 亞馬遜EC2的用途
- 7. 亞馬遜EC2賬單API?
- 8. 亞馬遜EC2和jbossws
- 9. 亞馬遜ec2,ELB和DNS
- 10. 原型爲亞馬遜Ec2
- 11. 部署到亞馬遜EC2
- 12. Curl亞馬遜EC2實例
- 13. 亞馬遜EC2根登錄
- 14. 亞馬遜EC2和S3
- 15. EC2到S3 - 亞馬遜
- 16. spark-submit亞馬遜EC2
- 17. EntityFramework與亞馬遜EC2
- 18. 亞馬遜EC2元數據
- 19. 亞馬遜EC2實例
- 20. 亞馬遜AWS EC2使用
- 21. Amazon EC2與亞馬遜EMR
- 22. 亞馬遜AWS Ec2 + Elastic IP
- 23. 關於亞馬遜AWS EC2
- 24. 芹菜&亞馬遜ec2
- 25. Facebook appid亞馬遜ec2
- 26. 亞馬遜Ec2的SSL
- 27. EC2亞馬遜TCPS問題
- 28. S3亞馬遜域
- 29. 亞馬遜簽名創建
- 30. 亞馬遜CloudFront的創建