[請益] PHP REWRITE

看板PHP作者 (ChaN)時間15年前 (2010/09/02 16:09), 編輯推噓6(6024)
留言30則, 4人參與, 最新討論串1/1
當初案子是用id帶的,譬如說 http://www.xxx.com/blog_index.php?mid=1 整個網站架構已經是這樣了,客戶現在想用username帶還有機會嗎 http://www.xxx.com/blog/username = http://www.xxx.com/blog_index.php?mid=1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.163.57

09/02 16:27, , 1F
我認為應該從WebServer下手 URL Rewrite
09/02 16:27, 1F

09/02 16:32, , 2F
blog_index.php?id=username 如何?
09/02 16:32, 2F

09/03 10:58, , 3F
你需要的是RewriteMap
09/03 10:58, 3F

09/03 13:46, , 4F
我是想要用rewrite,可是搜尋到的範例都跟天書一樣
09/03 13:46, 4F

09/03 14:28, , 5F
就把吃到的username轉給blog_index.php 不過要改成用
09/03 14:28, 5F

09/03 14:28, , 6F
username查
09/03 14:28, 6F

09/03 14:29, , 7F
url改格式就去查一下url rewrite 怎麼寫
09/03 14:29, 7F

09/03 14:36, , 8F
09/03 14:36, 8F

09/03 14:42, , 9F
我開啟了rewrite mode
09/03 14:42, 9F

09/03 14:42, , 10F
然後.htaccess如下
09/03 14:42, 10F

09/03 14:42, , 11F
RewriteEngine on
09/03 14:42, 11F

09/03 14:42, , 12F
RewriteRule ^blog/([0-9]+)$ blog.php?id=$1 [R]
09/03 14:42, 12F

09/03 14:43, , 13F
然後建立了一個blog.php,裡面只有echo $_GET['id']
09/03 14:43, 13F

09/03 14:43, , 14F
09/03 14:43, 14F

09/03 14:43, , 15F
http://localhost/test/blog/1 可是這樣抓不到1
09/03 14:43, 15F

09/03 14:43, , 16F
程式有確實導到blog.php了,但抓不到參數
09/03 14:43, 16F

09/03 14:45, , 17F
加個 RewriteBase /test/
09/03 14:45, 17F

09/03 14:46, , 18F
在 rewriterule 之前
09/03 14:46, 18F

09/03 14:50, , 19F
http://0rz.tw/cFzIe apache 的rewrite mod example頁面
09/03 14:50, 19F

09/03 14:50, , 20F
多看看吧 對你有幫助
09/03 14:50, 20F

09/03 14:56, , 21F
有,幾個有可能的方法我都試過了,都抓不到id
09/03 14:56, 21F

09/03 14:56, , 22F
而且我把.htaccess清空,連結localhost/test/blog還是可以
09/03 14:56, 22F

09/03 14:57, , 23F
所以我很懷疑他有沒有吃到我的設定檔…
09/03 14:57, 23F

09/03 15:09, , 24F
要跑 .htaccess 你的 httpd.conf 要改設定
09/03 15:09, 24F

09/03 15:23, , 25F
看到文章說要加AllowOverride All在.htaccess裡面
09/03 15:23, 25F

09/03 15:23, , 26F
但我一加就會出現錯誤訊息
09/03 15:23, 26F

09/07 11:09, , 27F
RewriteRule .* http://www.gooogle.com
09/07 11:09, 27F

09/07 11:10, , 28F
我這樣打有轉去Google,表示rewrite有用,前面到底該怎麼寫
09/07 11:10, 28F

09/07 11:39, , 29F
RewriteRule ^blog.php/(.*)$ blog.php?u=$1 [L]
09/07 11:39, 29F

09/07 11:39, , 30F
前面正規式加入.php就work了… 終於,雖然不知道原因為何
09/07 11:39, 30F
文章代碼(AID): #1CVrlA-U (PHP)
文章代碼(AID): #1CVrlA-U (PHP)