让Apache支持Rewrite静态页面重写的方法
Apache下Rewrite靜態頁面重寫的方法,需要的朋友可以參考下。 首先確定您使用的 Apache 版本,及是否加載了 mod_rewrite 模塊。
Apache 1.x 的用戶請檢查 conf/httpd.conf 中是否存在如下兩段代碼:
LoadModule rewrite_module libexec/mod_rewrite.so AddModule mod_rewrite.c
Apache 2.x 的用戶請檢查 conf/httpd.conf 中是否存在如下一段代碼: LoadModule rewrite_module modules/mod_rewrite.so
如果存在,那么在配置文件(httpd.conf)中加入如下代碼。此時請務必注意,如果網站使用通過虛擬主機來定義,請務必加到虛擬主機配置,即 中去,如果加在虛擬主機配置外部將可能無法使用。改好后然后將 Apache 重啟。 如何起名
在確認開啟 mod_rewrite模塊之后,針對虛擬主機用戶,還可以通過創建.htaccess文件來達到url重寫的目的,首先要再設置的站點目錄中開啟 AllowOverride All(默認為 AllowOverride None);
.htaccess文件的內容舉例如下 # 將 RewriteEngine 模式打開 RewriteEngine On # 修改以下語句中的 /dir 為你的站點目錄地址,如果程序放在根目錄中,請將 /dir 修改為 / RewriteBase /dir # Rewrite 修改相應的系統規則
RewriteRule ^archiver/((fid|tid)-[\w-]+.html)$ archiver/index.php?KaTeX parse error: Can't use function '\.' in math mode at position 40: …0-9]+)-([0-9]+)\?.?html forumdisplay.php?fid=$1&page=KaTeX parse error: Can't use function '\.' in math mode at position 50: …0-9]+)-([0-9]+)\?.?html viewthread.php?tid=$1&extra=page%3D$3&page=KaTeX parse error: Can't use function '\.' in math mode at position 42: …rname|uid)-(.+)\?.?html space.php?$1=KaTeX parse error: Can't use function '\.' in math mode at position 24: …eRule ^tag-(.+)\?.?html tag.php?name=$1 將創建好的.htaccess文件放在相應的目錄下,此時便可以支持url靜態地址,方便搜索引擎的抓取
總結
以上是生活随笔為你收集整理的让Apache支持Rewrite静态页面重写的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 16.04源码编译安装Ap
- 下一篇: apache服务出现Forbidden