![](/img/trans.png)
[英]Faking the 'path' of a cookie - via .htaccess / javascript / or otherwise?
[英]htaccess “faking subdomains”
我一直在研究htaccess以及如何使用重寫規則來為用戶創建某種“偽子域”。
到目前為止,我有:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([a-z0-9-]+)/? http://$1.domain.com [R=301,NC,L]
RewriteCond %{HTTP_HOST} ^([a-z]+)\.domain\.com$
RewriteRule ^$ index.php?user=%1
這將使任何/ somthing成為子域,然后將子域值作為參數傳遞給它。
我希望現在可以使用實際參數,並通過“子域”中的額外“用戶”參數將它們傳遞給正常對象,例如
fred.domain.com/index.php?page=1&sort=up
會給我$ _GET
['user'] = 'fred'
['page']= 1
['sort'] = up
但是對於我的一生,我不知道該怎么做! 當我添加任何其他參數時,我會松開用戶位
有什么幫助嗎? =)
另外,關於htaccess的任何有用的教程都很好! 因為我發現的所有對象都沒有真正解釋每一位的含義以及==的原因
提前致謝
.htaccess文件在這里無關。 它幫不了你。
要將用戶定向到您的服務器,您必須更改DNS記錄,而不是Web服務器配置。
我很確定您可以將vhost * .yourdomain.com設置為指向單個路徑,然后使用mod_rewrite進行url解析。
我假設:
domain.com
,該域名由某些共享托管服務(SHS)提供商托管。 *.domain.com
/webroot/domain.com/public_html
映射到固定的子目錄,例如/webroot/domain.com/public_html
; 其他人為用戶執行此頂級重定向,並提供一個控制面板,允許帳戶持有人將子域與特定子目錄相關聯。 因此,您需要確定哪種情況適用於您的情況:
http://sss.domain.com/
來查看它是否路由到您的DOCROOT phpinfo()
腳本查看它用來指向DOCROOT的Rewrite環境變量。 (由於Apache中的技術原因,請參見無法為每個用戶正確初始化具有mod_rewrite的動態大量虛擬主機 ,%{DOCUMENT_ROOT},因此提供者通常使用RewriteMap
來初始化替身;我的使用%{ENV:DOCUMENT_ROOT_REAL}) 因此,假設您要在http://blog.domain.com/
上建立博客,則可能需要:
http://domain.com/blog/*
永久重定向[R = 301]到http://blog.domain.com/*
http://blog.domain.com/*
到DOCROOT/blogdir/*
內部重定向 我可以給您提供一組重寫規則來執行此操作,但是鑒於本月我已經回答了十二個相同的問題,您可以通過搜索或查看我的博客來找到很多模板( Webfusion , .htaccess )在這里我寫了許多文章,提供了更多的解釋。
如果您希望單個應用程序捕獲域的通配符子集,只要可以在正則表達式中對其進行編碼,則可以執行以下操作:
RewriteCond %{HTTP_HOST} (sompattern)\.domain\.com
RewriteRule ^(?!appdir/).* appdir/catchall.php?arg=$0&subdomain=%1 [L,QSA]
(?!appdir/)
位稱為前瞻性否定斷言,這將停止對自身進行(?!appdir/)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.