簡體   English   中英

如何使用PHP和htaccess創建動態子域?

[英]How to create dynamic subdomain using PHP and htaccess?

我有一個問題:我想設置PHP和htaccess來創建動態子域。 我無法弄清楚如何。 目前我的網址如下所示:

www.exemple.com/index.php?subdomain=mike&component=content&id=26&title=people-love-apps 

我需要它看起來像這樣:

www.mike.exemple.com/content/26/people-love-apps.html

我知道可以做到,但我不知道如何做到這一點的解決方案。 用$ _GET []函數讀取URL中的參數對我來說非常重要。

問題是我網站上的用戶自己創建了自己的網站並獲得了免費域名(子域名)。 這應該是自動的。

謝謝!

您無法使用.htaccess 創建動態子域

您需要配置apache虛擬主機以接受多個域的請求

請參閱Apache文檔 - 使用基於名稱的虛擬主機

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com *.example.com
    DocumentRoot /www/domain
</VirtualHost>

添加通配符子域*.example.com ,你的PHP應用程序會得到以下任何站點的所有請求example.com ,即garbage.example.combusted.example.comllama.example.com等。

使用Apache VirtualHost創建通配符子域

多個域到一個虛擬主機| 通配符主機(共享主機)?

多個域的Apache默認虛擬主機

此時,您的應用程序必須確定子域的有效性並顯示未知子站點的相應錯誤。

從那里,解析域名為mike

當然,您可以使用htaccess解釋動態子域。 以下規則將解決問題。

RewriteCond %{HTTP_HOST} www\.([^.]+)\.example\.com [NC]
RewriteRule ^/content/([0-9]+)/([a-zA-Z0-9_\-])\.html /index.php?subdomain=%1&component=content&id=$1&title=$2  [L]

所以任何人都要參加

 www.mike.exemple.com/content/26/people-love-apps.html

會看到的內容

www.exemple.com/index.php?subdomain=mike&component=content&id=26&title=people-love-apps 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM