2011-10-31 61 views
0

我必須錯過一些明顯的東西,因爲這看起來應該不是一個難題。我想要通過我的index.php來處理我網站上的所有網址路徑(http://example.comhttp://example.com/admin,http://example.com/happy/happy/joy/joy等)。我以前見過這個,但是我不知道該怎麼做。使用index.php管理我的網站中的所有網址路徑

+0

如果您使用Apache,使用mod_rewrite的.htaccess文件中的規則將執行此操作。 – Borealid

+0

同意Borealid,如果沒有Web服務器的幫助,你不能這樣做。取決於服務器的風格取決於你如何去做。例如,請參見[Zend Framework Web服務器配置](http://framework.zend.com/manual/en/project-structure.rewrite.html) – Plebsori

回答

2

只需創建一個.htaccess文件放在根目錄下有此:

# Turn on URL rewriting 
RewriteEngine On 

# Base directory 
RewriteBase/

# Protect hidden files from being viewed 
<Files .*> 
    Order Deny,Allow 
    Deny From All 
</Files> 

# Allow any files or directories that exist to be displayed directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# Rewrite all other URLs to index.php/URL 
RewriteRule .* index.php/$0 [PT] 

Apache的國旗解釋說:

[L] - 別名爲「上」,用指令重寫規則已經走到了服務器結束,現在是時候在不改變瀏覽器的uri的情況下執行內部重定向了。

[PT] - 「Pass Through」的別名允許將Mod_Rewrite操縱的uri傳遞給下一個類型的處理函數,因此也就是php.ini模塊的包含順序。根據主題有用。

+0

Drupal似乎使用'RewriteRule^index.php [L]'。有什麼不同? – Hamster

+0

檢查更新的帖子。你的情況不需要'L'標誌,因爲你想要的是重寫瀏覽器的uri。 – yoda

+0

處理程序?這是否意味着另一個RewriteRule? – Hamster

相關問題