我正在使用ToroPHP進行路由。ToroPHP路由 - 404動作
- 文檔:https://github.com/anandkunal/ToroPHP/blob/master/README.md
- 來源:https://github.com/anandkunal/ToroPHP/blob/master/src/Toro.php
我的代碼:
Toro::serve(array(
"/" => "home",
));
Toro::serve(array(
"/website/:string" => "website",
));
// Fired for 404 errors
ToroHook::add("404", function() { echo '404 error'; });
更多代碼
託羅:服務去這個班,工作正常,爲home
和website
。
class home {
function get() {
echo 'My home';
}
}
class website {
function get($slug) {
echo $slug;
}
}
的.htaccess
這是我的htaccess的文件看起來像。這只是一點點改寫在本地主機上工作。
看最後一排...
RewriteEngine On
RewriteBase /my_localhost_dir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php)
RewriteRule ^(.+)$ index.php/$1 [L]
問題
如果我去一個網頁,我已經安裝有Toro::serve
,它工作得很好。
如果我去一個沒有定義的URL,它會給我一個白屏。
我希望它會給我「404錯誤」的鉤我補充說。我做錯了什麼?
例如:如果我去/ nocontent /它給了我一個白色的屏幕,並響應200好。
你是否將所有對子目錄的請求重寫爲index.php?否則,您的請求將無法到達PHP,因爲Apache無法找到指定的文件。 – alexn
@alexn我使用/ website /更新了我的代碼,這也適用。當我去/網站/無論/時,它迴應我的slu''無論'。然而/ nocontenthere /給出了一個白色屏幕。我不使用文件夾,只使用虛擬URL,但工作的類都包含在一個文件夾中,但這不重要? –