作者DongFeng (Little Five)
看板PHP
標題[請益]偽靜態化
時間Wed Aug 21 12:20:23 2013
不知道這個問題能不能po在這問, 如果不行還請通知我刪除, 謝謝!
客戶的網站有一個需求是要靜態化而且html要中文
example:
http://tw.news.yahoo.com/8%E6%9C%8821%E6%97%A5%E5%90%84%E7%B8%A3%E5%B8%82%E4%B8
%8A%E7%8F%AD%E4%B8%8A%E8%AA%B2%E4%B8%80%E8%A6%BD-221100408.html
因為功力還不到家, 一開始聽到這個要求只想到以建立範本去一個一個建檔的方法
後來在網路上知道了.htaccess偽靜態化的方法才鬆了一口氣(?
以下是我.htaccess的寫法
----------
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /default/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)\.html$ router.php?link=$1
</IfModule>
----------
中文檔名的部分則藉由在.htaccess將網頁導向router.php, 然後以$1判斷是哪一筆資料
原本一切都如我想像的進行...
但今天要另外加功能上去時才發現, 只要經由.htaccess->router.php->目標資料 路徑取
得的網頁, href = "#" 的 a標籤 跟 input type ='button' 一類會有點擊功能的元素通
通失效, 自行加上 style = cursor: pointer也是無效
因為這個原因導致藉由click元素在觸發的javascript事件完全沒辦法得到觸發...
如果版上前輩知道是甚麼原因導致這個問題的, 不知道方不方便告知我一下...先謝謝了!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.9.244
1F:→ kerash:#標籤是瀏覽器找畫面上bookmark的行為,應該跟rewrite無關 08/21 21:50
2F:→ kerash:我剛剛測試rewrite後一樣可以觸發才是 08/21 21:50
3F:→ DongFeng:已經找出問題了果然跟reweite無關, 是因為設計的時候結構 08/21 22:52
4F:→ DongFeng:不正確, 導致a標籤被其他的元素區塊遮蔽了, 導致看的到點 08/21 22:52
5F:→ DongFeng:不到 08/21 22:52