所以我剛開始搞亂Apache的重寫模塊,並想確保我有這個權利,因爲我已經看到它做了幾種不同的方式。我的示例代碼現在只是一個實驗,但它可能最終成爲我正在開發的新項目的基本結構。mod_rewrite最佳實踐
這裏是我的.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_\-]+)/?$ index.php?id=$1 [L,NC]
</IfModule>
我的索引文件:
<?php
include 'views/headerView.php';
switch(strtolower($_GET['id']))
{
case "first": include 'views/firstPageView.php';
break;
case "second": include 'views/secondPageView.php';
break;
default: include 'views/homeView.php';
}
include 'views/footerView.php';
?>
和默認homeView模板:
<p>This is the home page.</p>
<p>To the first page. <a href="first">First Page</a></p>
<p>To the second page. <a href="second">Second Page</a></p>
我主要關注的是僅具有URL模板上錨定標記中的「第一個」和「第二個」。這些網址用於索引文件中的開關,以確定要顯示哪個視圖。我這樣做,所以當用戶點擊一個鏈接時,在重寫模塊的反向引用中將使用「first」或「second」這個詞,並且會在url中顯示爲domain.com/first而不是domain。 COM /?ID =第一。那麼,我在這裏的正確軌道還是我錯過了什麼?任何有用的建議,將不勝感激,謝謝。
Bueller .......? –