1
我有一个即时通讯工程,当用户尝试访问x.website.com时,它会显示特定状态的结果,我将如何处理这个问题而不创建52个子域名手动?通配符子域名将子域名值传递给脚本
有没有办法用htaccess来做到这一点?但是如果访问state.website.com/search.php,它也应该可以工作,它会显示状态X的所有结果,所以我需要它是一个常量变量。
或者还有更好的方法吗?谁能帮忙?
谢谢
我有一个即时通讯工程,当用户尝试访问x.website.com时,它会显示特定状态的结果,我将如何处理这个问题而不创建52个子域名手动?通配符子域名将子域名值传递给脚本
有没有办法用htaccess来做到这一点?但是如果访问state.website.com/search.php,它也应该可以工作,它会显示状态X的所有结果,所以我需要它是一个常量变量。
或者还有更好的方法吗?谁能帮忙?
谢谢
您需要定义一个wildcard DNS record为*.example.com
。任何没有定义真实DNS记录的子域将被发送到通配符记录。
与您的域名注册商联系,查看您是否被允许创建通配符记录。
在你的.htaccess文件,你可以映射的子域,像这样:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [NC]
# The state is captured as %1
RewriteRule . /index.php?state=%1 [L,QSA]
# More generically - pass the state to any request
# I think this will work without going to a redirect loop
RewriteRule ^(.+)$ $1?state=%1 [L,QSA]
里面index.php
一旦你从检索查询字符串的状态,你可以将其存储在$_SESSION
和使用,作为一个搜索过滤器。
所以我必须让他们都完成? DNS通配符和htaccess?我也错了,认为这不会让我们说state.website.com/search.php?因为它会尝试传递给index.php? –
您将需要通配符DNS记录和.htaccess。但是,您可以将'?state ='的查询字符串值存储在'$ _SESSION'中并使用PHP进行检索。 –