2013-08-02 71 views

回答

3

這被稱爲URL重寫。最近我第一次使用它,我用this tutorial來學習它,希望你會發現它很棒:

2

這非常簡單。只需創建.htaccess文件,並將其放入根目錄,然後就可以覆蓋自己的url。

Use this manual.

2

你想要一個稱爲URL重寫的web服務器功能 - 每個web服務器應用程序(apache,IIS, nginx)支持這一點。顧名思義,它採用請求的URL並將其重寫爲您定義的特定格式。

即使您使用的是共享主機解決方案,您仍然可以添加/修改.htaccess文件來執行此操作,但www上有許多指南。

28

將這個就是你的.htaccess文件

#turn on url rewriting 
RewriteEngine on 

#remove the need for .php extention 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

這允許您訪問.php文件不帶擴展名,所以你的鏈接應該讀

href="/somepage" 

,這將直接向

href="/somepage.php" 
14

還有MultiViews作爲虛擬主機或.htaccess配置選項。見http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews

在這個頁面:

多視圖的效果如下:如果服務器收到/一些/目錄/ foo的,請求如果/一些/目錄已啓用了多視圖,和/一些/ dir/foo不存在,那麼服務器讀取尋找名爲foo。*的文件的目錄,並有效地僞造一個命名所有這些文件的類型映射,爲它們分配相同的媒體類型和內容編碼客戶已經通過名字詢問了其中的一個。然後它會根據客戶的要求選擇最佳匹配。

+3

Multiviews可能非常煩人,並且如果選擇文件名和重寫模式重疊,妨礙正常的mod_rewrite規則。 –

+0

非常真實。謹慎使用。 –

+1

我在我的虛擬主機中添加了MultiViews 2天。我無法弄清楚爲什麼我乾淨的請求網址不工作....謝謝@TheGingerDog –

1

將這個就是你的.htaccess文件

RewriteEngine On 
 
RewriteRule ^page?$ page.php

<a href="page">page</a>