圖片展示
圖片展示

400-8300-663

用.htaccess文件實現URL重寫

浏覽: 發表時間:2017-12-24 00:00:00

你是否曾經對一(yī)些網站的網址看起來非常清爽,沒有任何.php或.html後綴感到奇怪?他們就是這樣做到的。

1、安裝 mod_rewrite 模塊
     因爲 Apache 服務器默認是沒有打開(kāi) mod_rewrite 模塊的,所以我(wǒ)(wǒ)們必須手動來啓動。打開(kāi) Apache 的配置文件 httpd.conf 文件,找到下(xià)面一(yī)行:


     #LoadModule rewrite_module modules/mod_rewrite.so


     前面的 # 号是 Apache 配置文件的注釋符,也就是 Apache 服務器沒有加載該模塊。将前面的 # 号去(qù)掉,保存後重啓 Apache 服務器,這是我(wǒ)(wǒ)們就實現了加載 mod_rewrite 這個模塊了。(提示:任何一(yī)次對 Apache 的配置文件 httpd.conf 文件都是要重新啓動 Apache 才能生(shēng)效的)

     2、新建 .htaccess 文件
     在 windows 系統默認的情況下(xià)是不能新建沒有文件名的文件的,這裏建議大(dà)家使用 vim 這個編輯器來新建。方法是打開(kāi) vim 編輯器随便輸入一(yī)段文字,然後保存爲 .htaccess 即可。很多朋友因爲習慣了 windows 系統,所以新建這個文件很頭疼。還有就是文件名一(yī)定不要錯,我(wǒ)(wǒ)今天寫的時候把文件保存成了.htacess,看到沒有,少了一(yī)個c,怎麽調試都不對,還好最後發現了這個低級錯誤。

     3、配置 .htaccess 文件
     .htaccess 文件務必放(fàng)在你項目的根目錄下(xià),不要放(fàng)在其他文件夾下(xià)。配置 .htaccess 文件的格式如下(xià):

    
     RewriteEngine On
     #這裏是你的規則
    

     解釋:RewriteEngine On :啓動URL重寫引擎
     先看如下(xià)一(yī)個配置好了的 .htaccess 文件實例:


  
      RewriteEngine On
      RewriteRule ^index\.html$ /index.php [L]
      RewriteRule ^shop/(.+)/$ shop/shop.php?providerId=$1 [L]
  

    分(fēn)析:上面 .htaccess 文件就寫了二條規則。當在浏覽器中(zhōng)輸入 index.html 時,後台調用的是 index.php 文件。符号“^”是以後面的字符開(kāi)頭,相信熟悉正則表達式的朋友不會陌生(shēng)吧,符号“$”是以前面的字符結尾。符号L表示停止處理接下(xià)來的規則。最後一(yī)條當我(wǒ)(wǒ)們在浏覽器中(zhōng)輸入 shop/2322 時,後台調用 shop.php文件并傳遞參數provider=2322 。
    配置規則,大(dà)家照着那一(yī)條去(qù)寫吧,記得每行後面加個 L 符号。

再寫一(yī)個:

http://www.yourdomin.com/category.php?id=12 想重寫成 http://www.yourdomin.com/category/12

  RewriteRule  ^category/([0-9]+)$  category.php?id=$1

如果有多頁的文章 如:http://www.yourdomin.com/category.php?id=12&page=3 重寫成 http://www.yourdomin.com/category/12/3

  RewriteRule ^category/([0-9]+)/([0-9]+)$  category.php?id=$1&page=$2

如果你想升級你的站點,又(yòu)要保證老的鏈接都可用,你也可以通過mod_rewrite模塊來實現。你僅僅需要寫一(yī)個規則之處這個網頁被永久的移動了。例子如下(xià):

  RewriteRule ^oldpage.html$ newpage.html [R=301]

 

 

【轉載自:http://www.cnblogs.com/wangkongming】

 

 

【長短地址轉換】

 

利用URL重寫,我(wǒ)(wǒ)們可以很方便地實現長短地址的轉換,但是用重定向就不合适了。

RewriteEngine On
RewriteRule ^grab /public/files/download/download.php

若訪問
http://mysite/grab?file=my.zip
則會執行該頁面:
http://mysite/public/files/download/download.php?file=my.zip

 

【去(qù)掉www】

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L]
 

 

【加上www】

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule (.*) http://www\.%1/$1 [R=301,L]


用.htaccess文件實現URL重寫
你是否曾經對一(yī)些網站的網址看起來非常清爽,沒有任何.php或.html後綴感到奇怪?他們就是這樣做到的。1、安裝 mod_rewrite 模塊     因爲 A
長按圖片保存/分(fēn)享
1

域名合作夥伴:

新網、中(zhōng)資(zī)源、時代互聯、商(shāng)中(zhōng)在線、

三五互聯、西部數碼

聯系我(wǒ)(wǒ)們

上班時間号碼:0757-28363863 / 28310083 / 28314601

非上班時間号碼: 0757-28310083 轉分(fēn)機号 8805 或分(fēn)機号 8806

傳真: 0757-28314601

圖片展示

Copyright © 2007-2023     上海輕嗨科技有限公司    ALL RIGHTS RESERVED.

ICP備案号:     

 

 ICP備案号:

全國服務熱線
400-8300-663
辦公熱線
0757-28363863
二維碼
掃碼關注
添加微信好友,詳細了解産品
使用企業微信
“掃一(yī)掃”加入群聊
複制成功
添加微信好友,詳細了解産品
我(wǒ)(wǒ)知(zhī)道了