因此,我想为每个客户端创建一个子域,例如:
user1.mydomain.com -> mydomain.com/users/user1
或至少
user1.mydomain.com -> mydomain.com
而且我可以user1
用php 抢一部分。不是重定向,而是URL重写。
我的问题是,这是行不通的。这是我当前在.htaccess
文件中的配置:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.mydomain\.com [NC]
RewriteCond %{QUERY_STRING} !^/users/
RewriteRule ^(.*)$ /index.php?/users/%2/$1
# CodeIgniter Rules
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
我已经看到了许多有关此问题的答案,但就我而言,似乎没有任何效果。我还更新了我的域区域文件:
*.mydomain.com. A 000.000.000.000
键入类似user2.mydomain.com
内容时,我看到的是托管帐户中的错误页面,而不是服务器错误。和往常一样,任何帮助将不胜感激,我几天来一直在努力找出问题所在:P
编辑:看来问题出在服务器配置(Apache)上。如果键入任何子域,则显示的是主机提供商的服务器上的页面,而不是服务器错误(例如500等),而只是一个页面。如果仅在URL栏中键入网站的IP,则会显示相同的页面,它将转到托管服务提供商的默认页面。
谢谢大家的阅读。
1
在普通的共享主机上,您做得不好(或根本做不到)。您将需要一台真正的服务器(例如VPS),并且没有任何cPanel或Plesk废话。
—
迈克尔·汉普顿