使用Laravel我正在生成一個名爲webpage
的子目錄的php頁面。我想讓用戶使用子域來訪問頁面。例如,我已將whoami.php
文件生成到webpage
目錄中。如果有人試圖訪問whoami.domain.com
,他可以看到whoami.php
。我在webpage
裏面有一個index.php
,它可以提取別名並顯示文件。我認爲我需要的是將子域傳遞給index.php文件而不用重定向。我寫htaccess如下將子域指向子目錄
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
#sub domain custom part
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ http://domain.com/webpage/%1/$1 [L,NC,QSA]
</IfModule>
但我重定向到http://domain.com/webpage/whoami
。
我試圖讓我的要求清楚並粘貼我所嘗試的。你能幫我找出一個辦法嗎?
編輯1 基於@ Starkeen的答案,我現在想在一個重定向循環(http://whoami.domain.com/webpage/whoami/webpage/whoami/......
)下面的代碼。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
#sub domain
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$
RewriteRule ^(.*)$ /webpage/%1/$1 [L,NC,R]
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
我的現在想你的解決方案在一個重定向循環。我用代碼更新了我所做的問題。你能檢查一下嗎? 謝謝 – IFightCode