我有一個通配符子域* .domain.com分配給public_html /。通配符子域mod重寫不起作用
我想做的事情是這樣的:
例如,/folder1/index.php是基於狀態的域名(狀態= Statename的?)。
對於/folder1/folder2/index.php,它將基於唯一名稱(?name = uniquename)。
所以,www.domain.com/folder1/index.php?state=statename將statename.domain.com
和www.domain.com/folder1/folder2/index.php?name=uniquename將uniquename.domain.com
這是我的代碼
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+folder1/index\.php\?state=([^\s&]+) [NC]
RewriteRule^http://%1.domain.com/? [R=301,L]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+folder1/folder2/index\.php\?name=([^\s&]+) [NC]
RewriteRule^http://%1.domain.com/? [R=301,L]
問題是,它重定向回public_html目錄。代碼有問題嗎?
舊代碼
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^$ /index [L]
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domain.com$ [NC]
RewriteRule ^(index)/?$ /$1.php?name=%2 [L,NC,QSA]
代碼解釋:當用戶輸入uniquename.domain.com,它會自動轉到www.domain.com/index.php?name=uniquename和URL的uniquename.domain.com
酒吧不會改變。
新問題的區別在於有不同的狀態目錄,域名是state1.uniquename.domain.com。 url欄中的'state1.uniquename.domain.com'不應該改變。
我記得寫這些規則:P請解釋一下沒有工作?我不明白你的意思是'它重定向到public_html目錄' – anubhava
每當我鍵入uniquename.domain.com,它將進入domain.com(public_html目錄),而不是uniquename.domain.com(www.domain.com /folder1/folder2/index.php?name=uniquename).Thanks –
但您在瀏覽器中輸入「www.domain.com/folder1/folder2/index.php?name = uniquename」吧? – anubhava