我們知道,搜索引擎是偏愛靜態頁面的,因此,把諸如:http://www.companysz.com/?p=123的頁面改成http://www.companysz.com/apaeche-rewrite.html顯然有利于被搜索.
但是,如果一般的直接用http://www.companysz.com/apaeche-rewrite.html而又不存在這地址的文件,就肯定會報錯文件不存在.
這就要使用到Apache的rewrite模塊,把這些URL重定向某個動態程序如index.php,當然,index.php也需要有相應的程序識別這些地址,以從數據庫存取數據.
啟用rewrite,要確認apache配置文件:httpd.conf中有 LoadModule rewrite_module libexec/mod_rewrite.so 網站所在的目錄定義了下面的內容:
Options Indexes FollowSymLinks
AllowOverride all
網站所在目錄還必須包括一個.htaccess 內容為:
- rewriteengine on
- rewritebase /
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
如此則URL請求自動發送到index.php了
我寫了個正值表達試是這樣的
RewriteRule ^/*(.*?)/r_(.*?)-(.*?)-(.*?)-(.*?)-(.*?).html $1/$2.php?type1=$3&type2=$4&type3=$5&page=$6
偽靜態格式必須為r_xxx-變量1-變量2-變量3-變量4.html
有什么正值表達式如果有一個變量就r_xxx-變量1.html
二個變量就r_xxx-變量1-變量2.html
三個變量就r_xxx-變量1-變量2-變量3.html
新聞熱點
疑難解答