从htaccess中的url参数创建动态子域



我正在进行一个项目,例如我有一个url(https://example.com/index.php?country=usa)
我希望这个url在子域上动态重写,就像https://usa.example.com(不在cpanel上创建子域(
我一打开https://usa.example.com,它应该从/index.php获取数据?country=usa

我为此添加了DNS记录|主机:*|指向服务器IP地址。

我也尝试过下面的.htaccess代码,这是我在网上搜索过去两天的解决方案时发现的。

RewriteEngine on
RewriteRule ^([aA-zZ])$ index.php?country=$1
RewriteCond %{HTTP_HOST} ^(^.*).example.com
RewriteRule (.*) index.php?country=%1

当我点击usa.example.com或uk.example.com时,我得到404错误。

我很困惑,不是因为没有创建子域文件夹,也不是因为我在php中没有错误日志。我不熟悉htaccess。请帮忙。

我找到了解决方案。需要遵循的步骤很少。

  1. 创建一个wildcart子域,这很重要,而不仅仅是使用htaccess。转到你的cpanel的子域->在子域中输入*->选择您的目录为public_html

  2. 检查您的区域编辑器是否已创建记录。如果您正在使用cloudflare服务,请添加一条记录。

  3. HTACCESS代码的使用

RewriteEngine on
RewriteRule ^([aA-zZ])$ index.php?country=$1
RewriteCond %{HTTP_HOST} ^(^.*).example.com
RewriteRule (.*) index.php?country=%1

你完了。

最新更新