利用.htaccess檔案實現URL靜態化解決方案
來源:互聯網
上載者:User
利用.htaccess檔案實現URL靜態化
利用.htaccess檔案實現URL靜態化
問題描述如下:
我現在想實現如下功能:
未靜態化的URL:http://inetassistant.com/tasks.php?id=28&title=Wordpress
實現靜態化後的URL:http://inetassistant.com/tasks/28/Wordpress.html
1.
.htaccess檔案我放在網站根目錄下面,內容如下:
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^/tasks/([0-9]+)/([A-Za-z]+).html$ /tasks.php?id=$1&title=$2
php檔案裡面連結是這樣寫的:
Wordpress
可是在瀏覽器裡面輸入
http://www.XXX.com/tasks/28/Wordpress.html不能訪問
http://www.XXX.com/tasks.php/28/Wordpress.html卻能夠訪問(但是不能夠顯示對應的內容)
2.另外的情況是:
RewriteRule ^/tasks.php/([0-9]+)/([A-Za-z]+).html$ /tasks.php?id=$1&title=$2 這樣寫
Wordpress 這樣寫
我在點選連結的時候不能夠將http://www.XXX.com/tasks.php/28/Wordpress.html能夠訪問,但是沒有對應的內容,
補充說明的是:像28,Wordpress其實都是動態從資料庫裡面擷取的,目的是迴圈輸出標題,然後點擊標題顯示相應的文章內容
請高手幫忙解答一下對於這兩種情況問題分別出現在哪裡
------解決方案--------------------
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/tasks/([0-9]+)/([A-Za-z]+)\.html$
RewriteRule ^.+$ tasks1.php?id=%1&title=%2 [L]
我的apache環境估計加了什麼配置
當tasks 和我的檔案名稱相同的時候,就匹配不到,我把tasks.php換成task1.php就行了.
這個要放在task1.php所在的檔案夾.