我有一個PHP網站有兩個目錄:一個應用程序目錄和一個公共目錄。幫助與PHP的URL
問題是用戶必須訪問www.domain.com/public才能訪問該網站,但我需要請求www.domain.com/將用戶重定向到www.domain.com/public
所以我的問題是什麼是這樣做的最好方法?
我有一個PHP網站有兩個目錄:一個應用程序目錄和一個公共目錄。幫助與PHP的URL
問題是用戶必須訪問www.domain.com/public才能訪問該網站,但我需要請求www.domain.com/將用戶重定向到www.domain.com/public
所以我的問題是什麼是這樣做的最好方法?
我會用.htaccess重寫規則來做到這一點。這確保用戶始終被重定向,即使index.php沒有被請求。像這樣的東西應該適合你:
RewriteCond %{REQUEST_URI} !public/
RewriteRule ^(.*)$ public/$1 [L]
你可以用PHP重定向。裏面在主文檔根目錄的index.php您:
<?php
header('Location: public');
die();
?>
爲什麼'死();'就在劇本退出前呢? – meagar 2010-09-27 19:06:06
是的,最後,死亡是自然而然的。 – Archimedix 2010-09-27 19:10:43
有效的點。這只是一個習慣過程,因爲如果在有條件的'header()'下面有更多的代碼,調用'die()'是個好習慣。當然,在這種情況下,這絕對沒有意義。 – chigley 2010-09-27 19:12:04
把一個index.php文件在/含:
<?php
header('Location:http://domain.com/public');
?>
多種方式 - 的.htaccess,或者一個簡單的
<?php header('Location:http://www.domain.com/public'); ?>
會做的伎倆,如果你不需要直接從domain.com
訪問任何東西明確
你應該通過你的web服務器(IIS/Apache /其他)處理這個問題,因爲它更適合這種任務。 SO對於各種網絡服務器的URI重定向有很多答案。另外,如果你讓人們遠離你的「應用程序目錄」(你似乎指出你的web根目錄),你應該重新設計,如果你的目的是讓人們擺脫困境該文件夾:這是一個安全風險。
你也可以在.htaccess文件中解決它。 只需創建一個「重定向」規則:
Redirect 301//public/
您不用PHP來做這件事。 – Incognito 2010-09-27 19:13:28