国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Apache > 正文

使用Apache來構建URL縮短服務

2024-08-27 18:23:57
字體:
來源:轉載
供稿:網(wǎng)友
  用 Apache HTTP 服務器的 mod_rewrite 功能創(chuàng)建你自己的短鏈接。
  很久以前,人們開始在 Twitter 上分享鏈接。140 個字符的限制意味著 URL 可能消耗一條推文的大部分(或全部),因此人們使用 URL 縮短服務。最終,Twitter 加入了一個內置的 URL 縮短服務(t.co)。
  字符數(shù)現(xiàn)在不重要了,但還有其他原因要縮短鏈接。首先,縮短服務可以提供分析功能 —— 你可以看到你分享的鏈接的受歡迎程度。它還簡化了制作易于記憶的 URL。例如,bit.ly/INtravel 比https://www.in.gov/ai/appfiles/dhs-countyMap/dhsCountyMap.html更容易記住。如果你想預先共享一個鏈接,但還不知道最終地址,這時 URL 縮短服務可以派上用場。。
  與任何技術一樣,URL 縮短服務并非都是正面的。通過屏蔽最終地址,縮短的鏈接可用于指向惡意或冒犯性內容。但是,如果你仔細上網(wǎng),URL 縮短服務是一個有用的工具。
  我們之前在網(wǎng)站上發(fā)布過縮短服務的文章,但也許你想要運行一些由簡單的文本文件支持的縮短服務。在本文中,我們將展示如何使用 Apache HTTP 服務器的 mod_rewrite 功能來設置自己的 URL 縮短服務。如果你不熟悉 Apache HTTP 服務器,請查看 David Both 關于安裝和配置它的文章。
  創(chuàng)建一個 VirtualHost
  在本教程中,我假設你購買了一個很酷的域名,你將它專門用于 URL 縮短服務。例如,我的網(wǎng)站是 funnelfiasco.com,所以我買了 funnelfias.co 用于我的 URL 縮短服務(好吧,它不是很短,但它可以滿足我的虛榮心)。如果你不將縮短服務作為單獨的域運行,請?zhí)较乱徊糠帧?/div>
  第一步是設置將用于 URL 縮短服務的 VirtualHost。有關 VirtualHost 的更多信息,請參閱 David Both 的文章。這步只需要幾行:
  <VirtualHost *:80>
  ServerName funnelfias.co
  </VirtualHost>
  創(chuàng)建重寫規(guī)則
  此服務使用 HTTPD 的重寫引擎來重寫 URL。如果你在上面的部分中創(chuàng)建了 VirtualHost,則下面的配置跳到你的 VirtualHost 部分。否則跳到服務器的 VirtualHost 或主 HTTPD 配置。
  1、RewriteEngine on
  2、RewriteMap shortlinks txt:/data/web/shortlink/links.txt
  3、RewriteRule^/(.+)$ ${shortlinks:$1}[R=temp,L]
  第一行只是啟用重寫引擎。第二行在文本文件構建短鏈接的映射。上面的路徑只是一個例子。你需要使用系統(tǒng)上使用有效路徑(確保它可由運行 HTTPD 的用戶帳戶讀取)。最后一行重寫 URL。在此例中,它接受任何字符并在重寫映射中查找它們。你可能希望重寫時使用特定的字符串。例如,如果你希望所有縮短的鏈接都是 “slX”(其中 X 是數(shù)字),則將上面的 (.+) 替換為 (sl/d+)。
  我在這里使用了臨時重定向(HTTP 302)。這能讓我稍后更新目標 URL。如果希望短鏈接始終指向同一目標,則可以使用永久重定向(HTTP 301)。用 permanent 替換第三行的 temp。
  構建你的映射
  編輯配置文件 RewriteMap 行中的指定文件。格式是空格分隔的鍵值存儲。在每一行上放一個鏈接:
  1、osdc https://opensource.com/users/bcotton
  2、twitter https://twitter.com/funnelfiasco
  3、swody1 https://www.spc.noaa.gov/products/outlook/day1otlk.html
  重啟 HTTPD
  最后一步是重啟 HTTPD 進程。這是通過 systemctl restart httpd 或類似命令完成的(命令和守護進程名稱可能因發(fā)行版而不同)。你的鏈接縮短服務現(xiàn)已啟動并運行。當你準備編輯映射時,無需重新啟動 Web 服務器。你所要做的就是保存文件,Web 服務器將獲取到差異。
  未來的工作
  此示例為你提供了基本的 URL 縮短服務。如果你想將開發(fā)自己的管理接口作為學習項目,它可以作為一個很好的起點。或者你可以使用它分享容易記住的鏈接到那些容易忘記的 URL。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 林甸县| 山东省| 获嘉县| 天水市| 兴和县| 西乡县| 麻江县| 邯郸市| 调兵山市| 囊谦县| 鹤山市| 兴义市| 屯昌县| 广汉市| 凯里市| 林芝县| 彝良县| 玉林市| 华安县| 吴桥县| 四会市| 聂荣县| 濉溪县| 绿春县| 六安市| 安乡县| 嵩明县| 佛山市| 崇左市| 汪清县| 呼伦贝尔市| 西乡县| 那坡县| 蛟河市| 兴仁县| 申扎县| 筠连县| 湖北省| 蒲城县| 镇宁| 长白|