PHP+MYSQL+APACHE2,作为网站搭建,具体细节不细讲,

但是在我的/var/www/html下面

linaro@Hinlink:/var/www/html$ tree -L 1
.
├── 404.html
├── 笔记.txt
├── ask
├── base64
├── bg.png
├── chat
├── DownLoad
├── favicon.ico
├── H68K
├── index.html
├── on_publish.php
├── pac
├── probe.php
├── README.md
├── speedtest-x
├── tools
├── typecho
├── typecho_2023_5_1.sql
├── videos
├── WebShell.php
├── websocket.html
├── wordpress
├── www
└── xss

可以看到,有很多目录,我想实现 typecho.domain.com,这样的三级域名的方式,访问,

在FRPC.ini的配置里面

linaro@Hinlink:/var/www/html$ cat /etc/frp/frpc.ini
[common]
server_addr = FRPS服务器
server_port = 7000
token = 第三方token

[HT2_PHP]
type = http
local_ip = 127.0.0.1
local_port = 80
remote_port = 80
#subdomain = www
custom_domains = *.domain.com

custom_domains 其中的值,带上了*,通配符匹配
请输入图片描述

然后,任意访问 www.domain.com或者222.domain.com,会发现得到的页面都是一样的

这个时候,需要配置apache

第一步开启地址重写

sudo a2enmod rewrite

第二步,修改配置文件

nano /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    DocumentRoot /var/www/html
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(([-_a-zA-Z0-9])+)\.\w+\.\w+$ [NC]
    RewriteRule ^(.*)$ /%1/$1 [L]
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    ErrorDocument 404 "404 Not Found"
</VirtualHost>

第三步重启Apache2

sudo systemctl restart apache2

自此,完成

修改

html/typecho/usr/plugins/DPlayer/assets/editor.js

$(function () {
if ($('#wmd-button-row').length > 0) {
    $('#wmd-button-row').append('<li class="wmd-button" id="wmd-dplayer-button" style="" title="插入视频"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABGUlEQVQ4T6XTvyuFURgH8M9lkTKYlMGiRDKIxSQDkcFgYVAmi8WPwY+Uxa8FhWQmWdgMiAxmf4BYpFAGSRkY6K1z6tJ1vTdnfc/zOU/P830z/nkyoX4GIyjHHKrQjyXUoh3raEQT9nGDjQQowjk6cYcBnOIJHbjCY4DecYtK7KIrAUqwiNHweh16sRa+DWEbD5jAIS5QgekIJB0cB3kwgNXowTLq0YpNNKMB92iLwALGCpznSnYHP4EyvP4B5gX6wlaGcfkL9Cewh0/sYDIMMdtKBcSCN4xjK0tIDXyE6c/ipVAg2Xmynescc/jWQQxSvNeCUpzl2cQqpmKUj0JsC4nCSRL/+DMl66rBcwqhGN04wHwEUtTlvvIFs5ZDZeiythMAAAAASUVORK5CYII="/></li>');
}

$(document).on('click', '#wmd-dplayer-button', function () {
    $('body').append(
        '<div id="DPlayer-Panel">' +
        '<div class="wmd-prompt-background" style="position: absolute; top: 0; z-index: 1000; opacity: 0.5; height: 875px; left: 0; width: 100%;"></div>' +
        '<div class="wmd-prompt-dialog">' +
        '<div>' +
        '<p><b>插入视频</b></p>' +
        '<p>在下方输入参数</p>' +
        '<p><input type="text" id="DP-url" value="" placeholder="链接"/></p>' +
        '<p><input type="text" id="DP-pic" value="" placeholder="封面图"/></p>' +
        '<p><input type="text" id="width" value="" placeholder="视频宽度"/></p>' +
        '<p><input type="checkbox" id="controls" checked>开启控件</input></p>' +
        '<p><input type="checkbox" id="DP-autoplay">自动播放</input></p>' +
        '</div>' +
        '<form>' +
        '<button type="button" class="btn btn-s primary" id="ok">确定</button>' +
        '<button type="button" class="btn btn-s" id="cancel">取消</button>' +
        '</form>' +
        '</div>' +
        '</div>');
});
//cancel
$(document).on('click', '#cancel', function () {
    $('#DPlayer-Panel').remove();
    $('textarea').focus();
});
//ok
$(document).on('click', '#ok', function () {
    var url = document.getElementById('DP-url').value,
        pic = document.getElementById('DP-pic').value,
        width = document.getElementById('width').value,
        controls = !!document.getElementById('controls').checked,
        autoplay = !!document.getElementById('DP-autoplay').checked;
    var tag = '<video src="' + url+ '" ';
    if(pic) tag +=  'pic="' + pic + '" ';
    if (controls) tag += 'controls="' + controls + '" ';
    if(width) tag += 'width="' + width + '" ';
    if (autoplay) tag += 'autoplay="' + autoplay + '" ';
    tag += '> </video>\n';
    
    var editor = document.getElementById('text');

    if (document.selection) {
        editor.focus();
        sel = document.selection.createRange();
        sel.text = tag;
        editor.focus();
    }
    else if (editor.selectionStart || editor.selectionStart === '0') {
        var startPos = editor.selectionStart;
        var endPos = editor.selectionEnd;
        var cursorPos = startPos;
        editor.value = editor.value.substring(0, startPos)
            + tag
            + editor.value.substring(endPos, editor.textLength);
        cursorPos += tag.length;
        editor.focus();
        editor.selectionStart = cursorPos;
        editor.selectionEnd = cursorPos;
    }
    else {
        editor.value += tag;
        editor.focus();
    }

    $('#DPlayer-Panel').remove();
})
});

sudo a2enmod rewrite
nano /etc/apache2/sites-available/000-default.conf
sudo systemctl restart apache2

<VirtualHost *:80>

DocumentRoot /var/www/html

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(\w+)\.gazi\.asia$ [NC]
RewriteRule ^(.*)$ /%1/$1 [L]

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

第二中自己手动匹配目录

    <VirtualHost *:80>

DocumentRoot /var/www/html

RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub\.gazi\.asia$ [NC]
RewriteRule ^(.*)$ /sub/$1 [L]

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

第三次域名匹配
RewriteCond %{HTTP_HOST} ^(\w([-_a-zA-Z0-9])+).gazi.asia$ [NC]

第四次配置,保证匹配更全面

<VirtualHost *:80>

    DocumentRoot /var/www/html

    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^(([-_a-zA-Z0-9])+)\.\w+\.\w+$ [NC]
    RewriteRule ^(.*)$ /%1/$1 [L]

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ErrorDocument 404 "404 Not Found"
</VirtualHost>


NULL