很多朋友可能是空間也就是虛擬主機,自己就沒有權限來管理apache的httpd.conf文件了,自然就不太可能可以在這上面寫靜態規則了,下面我們可以讓主機商開啟支持.htaccess方法,這樣就可以自己寫了。
首先配置服務器啟動重寫模塊,打開 Apache 的配置文件 httpd.conf,將#LoadModule rewrite_module modules/mod_rewrite前面的#去掉。
保存后重啟Apache
重寫規則:舉例說明,test.php里的代碼為
- <?php
- $id=$_GET["id"];
- echo $id;
- ?>
功能就是接受URL里的id參數,并在頁面顯示。
首先用記事本(如果不行就用editplus)新建一個文檔,并保存為.htaccess,在里面寫入如下代碼
- <IFMODULE mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteRule ^t_(.*).html$ test.php?id=$1 [L]
- </IFMODULE>
具體解釋可以查看apache手冊。下載apache2.2手冊
第4行 ^t_(.*).html$ 描述你輸入的URL地址, test.php?id=$1 其實際要訪問的地址
例如當您在瀏覽器中輸入(假設您的test.php和.htaccess文件都在您服務器的mytest文件夾下)localhost/mytest/t_1.html 則在瀏覽器中將輸出 1, 如果輸入為 localhost/mytest/t_sophp.html 則瀏覽器輸出sophp
第一個地址實際訪問的是localhost/mytest/test.php?id=1
第二個實際訪問的是 localhost/mytest/test.php?id=sophp
重寫完規則后,將您網頁中以前都為傳參數的URL鏈接改為您修改后的規則樣式就成功了。
如果自己買的空間支持重寫的話,只要把.htaccess 文件傳到根目錄即可。
新聞熱點
疑難解答