你是否曾經對一些**的**看起來非常清爽,沒有任何.php或.html字尾感到奇怪?他們就是這樣做到的。
1、安裝 mod_rewrite 模組
因為 apache 伺服器預設是沒有開啟 mod_rewrite 模組的,所以我們必須手動來啟動。開啟 apache 的配置檔案 httpd.conf 檔案,找到下面一行:
#loadmodule rewrite_module modules/mod_rewrite.so
3、配置 .htaccess 檔案
.htaccess 檔案務必放在你專案的根目錄下,不要放在其他資料夾下。配置 .htaccess 檔案的格式如下:
rewriteengine on
#這裡是你的規則
解釋:rewriteengine on :啟動url重寫引擎
先看如下乙個配置好了的 .htaccess 檔案例項:
rewriteengine on
rewriterule ^index\.html$ /index.php [l]
rewriterule ^shop/(.+)/$ shop/shop.php?providerid=$1 [l]
分析:上面 .htaccess 檔案就寫了二條規則。當在瀏覽器中輸入 index.html 時,後台呼叫的是 index.php 檔案。符號「^」是以後面的字元開頭,相信熟悉正規表示式的朋友不會陌生吧,符號「$」是以前面的字元結尾。符號l表示停止處理接下來的規則。最後一條當我們在瀏覽器中輸入 shop/2322 時,後台呼叫 shop.php檔案並傳遞引數provider=2322 。
配置規則,大家照著那一條去寫吧,記得每行後面加個 l 符號。
再寫乙個:
想重寫成
rewriterule ^category/([0-9]+)$ category.php?id=$1
如果有多頁的文章 如:&page=3 重寫成 /3
rewriterule ^category/([0-9]+)/([0-9]+)$ category.php?id=$1&page=$2
如果你想公升級你的站點,又要保證老的鏈結都可用,你也可以通過mod_rewrite模組來實現。你僅僅需要寫乙個規則之處這個網頁被永久的移動了。例子如下:
rewriterule ^oldpage.html$ newpage.html [r=301]
記錄下來,以後還會用到。
千里之行,始於足下。改變現在,就是改變未來。改變未來,從現在開始。 個人**:
企業**:
rewriteengine on
#rewriterule ^$ public/ [l]
#rewriterule ((?s).*) public/$1 [l]
rewriterule ^index(.*)\.html$ public\/index\.php[l]
rewriterule ^index/(.*)/([0-9]+)$ index.php?$1=$2 [l]
用 htaccess檔案實現URL重寫
你是否曾經對一些 的 看起來非常清爽,沒有任何.php或.html字尾感到奇怪?他們就是這樣做到的。1 安裝 mod rewrite 模組 因為 apache 伺服器預設是沒有開啟 mod rewrite 模組的,所以我們必須手動來啟動。開啟 apache 的配置檔案 httpd.conf 檔案,找...
用Apache的 htaccess檔案增加使用者認證
有時候某些目錄下的檔案需要增加認證,apache預設的認證模組都是很完備的,以下就是乙個通過.htaccess檔案增加使用者認證的例子。即使對於虛擬主機使用者也可以通過上傳一些檔案來實現認證控制。首先用htpasswd建立乙個密碼檔案 比如檔名叫做my.passwd home apache bin ...
htaccess檔案妙用
相信這個功能,大家都不陌生,為了集中 網域名稱的權重,通常會將不帶www的網域名稱301跳轉到帶www的網域名稱上,比如說本站的網域名稱2zzt.com就會自動的跳轉到www.2zzt.com上來,這樣做的好處就是,搜尋引擎會集中不帶www的網域名稱的頁面權重到帶www的 頁面上來,如果沒有做301...