当用户进入一个子域(我将具有通配符子域)时,我该怎么办,他将在子文件夹中看到与主域同名的内容?例如,如果用户将输入works.domain.com,我希望他查看www.domain.com/works中的内容。
这是我的方法:
此代码写在通配符/index.php文件中
<?php
//Get the store name from url
$host = $_SERVER['HTTP_HOST'];
$url = explode('.', $host)[0];
//Find the store name is it available in the database
$db = new database;
$qri = $db->query("SELECT * FROM store_info WHERE store_name='$url'");
$count = mysqli_num_rows($qri);
//If it returns true then show the reuquested store data
if($count != 0){
*I want to show here the folder data that requested in the url*
}else{
echo 'Store Not found';
}
现在我的问题是:
答案 0 :(得分:0)
您可以使用以下配置(未经测试)在PHP服务器之前配置NGINX,以将其路由到特定目录。在NGINX中进行配置比在PHP中进行配置更为有效。
server {
server_name ~^(?<sub>[a-zA-Z0-9-]+)\.domain\.com$; # will cause the sub-domain to be placed in $sub
return 301 "http://testsite.net/${sub}${uri}";
}
来源:https://serverfault.com/questions/426673/nginx-redirect-subdomain-to-sub-directory