1、如何用URL重寫實現訪問二級域名
u
2、URL 鏈接重寫成域名格式
不是你這么搞的
看你URL就知道是用的PHPCMS
CMS有支持綁定站點和欄目二級域名功能
你先要熟悉PHPCMS
3、有誰會用ISAPI_Rewrite對asp網站重寫url實現二級域名嗎?指導一下
網上找的,你試試
0、首先需要一個有效的頂級域名,並且設置該域名下二級域名的泛解析到虛擬主機所在伺服器IP(即如:*.eboat.cn => 123.234.55.101)。
1、在http://www.helicontech.com/download.htm下載ISAPI_Rewrite Lite Free版本。版本不用太高,如果願意付點$,用Full版當然也不錯哦。安裝,隨便裝在哪個位置。
注意:Lite版本不支持虛擬主機層次的配置,但僅僅是配置(就是dll只能讀取自身安裝目錄下的全局配置httpd.ini)。如果是僅用於某虛擬主機的任意二級域名解析,可以將ISAPI_Rewrite.dll僅放置在該虛擬主機的配置中(即不在IIS的「網站>ISAPI篩選器」中插入,而是添加在虛擬主機網站的ISAPI篩選器中),這樣就不會影響伺服器對其它網站的處理。
2、將需要二級域名的虛擬主機的主機頭置空,使得所有未在伺服器上單獨配置的虛擬主機域名都被定向到此處。注意!不是在伺服器上單獨新建一個無主機頭的網站,必須在需要實現二級域名的當前網站上進行URL的Rewrite配置。這點很重要。
3、將ISAPI_Rewrite安裝時自動配置在IIS中的全局設定取消(IIS>網站>ISAPI篩選器,刪除ISAPI_Rewrite),在需要二級域名解析的虛擬主機(網站)中配置ISAPI_Rewrite.dll(屬性>ISAPI篩選器>添加...,名稱可以隨便寫,如Url-Rewrite)。
4、修改ISAPI_Rewrite安裝目錄下的配置文件httpd.ini。舉例如下:
Java代碼
[ISAPI_Rewrite]
RepeatLimit 1
# Defend your computer from some worm attacks
RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 排除當前虛擬主機需要正常訪問的域名(web.eboat.cn www.eboat.cn)
# RewriteCond Host: (?:web|www)\.eboat\.cn
# 多數情況下是一個,即當前提供二級域名服務的系統(如建站系統)
RewriteCond Host: web\.eboat\.cn
RewriteRule (.*) $1 [L]
# 解決不規范目錄(末尾無/)的問題
# 但前提是目錄名不含『.』而文件名必須包含,否則無法區分兩者
# 如果保證URL中的目錄名稱規范,則無需此規則
RewriteRule ^/([^.]+[^/]$) /$1/ [L,R]
# 提取任意的二級域名名稱(即第一個詞彙)
# 用[a-zA-Z0-9_-]限制名稱字元,重寫Url到Home/子目錄下
# 如 test.eboat.cn => web.eboat.cn/Home/test
RewriteCond Host: ([a-zA-Z0-9_-]+)\.eboat\.cn
RewriteRule ^/(.*) /Home/$1/$2 [I,L]
[ISAPI_Rewrite]
RepeatLimit 1
# Defend your computer from some worm attacks
RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 排除當前虛擬主機需要正常訪問的域名(web.eboat.cn www.eboat.cn)
# RewriteCond Host: (?:web|www)\.eboat\.cn
# 多數情況下是一個,即當前提供二級域名服務的系統(如建站系統)
RewriteCond Host: web\.eboat\.cn
RewriteRule (.*) $1 [L]
# 解決不規范目錄(末尾無/)的問題
# 但前提是目錄名不含『.』而文件名必須包含,否則無法區分兩者
# 如果保證URL中的目錄名稱規范,則無需此規則
RewriteRule ^/([^.]+[^/]$) /$1/ [L,R]
# 提取任意的二級域名名稱(即第一個詞彙)
# 用[a-zA-Z0-9_-]限制名稱字元,重寫Url到Home/子目錄下
# 如 test.eboat.cn => web.eboat.cn/Home/test
RewriteCond Host: ([a-zA-Z0-9_-]+)\.eboat\.cn
RewriteRule ^/(.*) /Home/$1/$2 [I,L]
注意!上面的規則不能寫成
RewriteRule ^/(.*) http\://web\.eboat\.cn/Home/$1/$2 [I,L]
這也是必須在系統所在網站上解析的原因。如果最後是[I,R],訪問是可以的,但是瀏覽器的地址欄會顯示實際的Url,達不到透明二級域名的效果。
總結:
之前查了Google,沒找到簡單實現的例子。其實這主要是規則上的問題,即使是將ISAPI_Rewrite放在IIS的「網站」全局配置中也是可以的,因為規則不會匹配其它的網站(頂級域名限制),Rewrite不會起作用。只是放在全局配置中,訪問其它網站也要經過這個.dll過濾器,或多或少的有些不合理。
成功配置和運行,網上說要用Full的破解版才行(1.x的版本,試過可行)。所以這里特地將Lite免費版的用法貼出來。
(注意:最後可能需要重啟IIS伺服器,檢查一下ISAPI過濾器中Rewrite是否已經載入--綠色的向上箭頭。另外,如果是NTFS文件系統,ISAPI_Rewrite的安裝目錄需要添加網站用戶或everyone的寫許可權!)
4、如何編寫二級域名跳轉二級目錄的偽靜態或者php
^我用的
RewriteCond %{HTTP_HOST} ^([^\.]+).tool.net$
RewriteRule ^(/?)(.*)$ /users/%1/$2 [PT,L]
令形如 blog.tool.net/index.php 的 url 定位到 users/blog/index.php
url 不變,自己改一下就行了。
5、nginx 怎麼實現二級域名跳轉到指定 URL
server {
listen 80;
server_name 二級域名;
location / {
rewrite ^/(.*)$ 重定向的域名$1 permanent;
}
}
```
6、url重寫實現二級域名
?
7、求一個url_rewrite的正則表達式(用於二級域名跳轉)
正則:
/mail\.(\w+\.\w{3})/is
替換為:
www.\1:6080
用php程序測試專:
$str = 'mail.zhoubish.com';
$pattern = '/mail\.(\w+\.\w{3})/is';
$str = preg_replace($pattern, 'www.\1:6080', $str);
echo $str;// 你想要的屬