iT邦幫忙

0

當進來的網址是 A,則自動跑去 B並附帶值?

事由
因為別人的域名要轉到自己的服務器上,但原本的文真連結路徑不同,可能會失效
例如原本是 http://love.me/12939 ,文章數據轉到我的服務器上,並會添加兩種類型,網址必須變成 https://love.me/blog/type/sub-type/12939
但是 type 與 sub-type 的變化會取決於文章被指定的類型,例如叫做 abc, prod ,就會變成 https://love.me/blog/abc/prod/12939

問題

  • 這個在 htaccess 有辦法實現嗎?
  • 能怎麼正確的帶入 type/sub-type?除了文章ID沒有變以外其他都得變 ..LOL
  • 或者是能否用 php 做?
weiclin iT邦高手 4 級 ‧ 2018-09-25 04:40:09 檢舉
love.me/12939 rewrite 到 a.php, a.php 用 id 去資料庫取出類型以後, 用 http 301 導向到新的網址
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
最佳解答

你的網頁能拿到文章ID,剩下的變化如果跟文章ID有關,就可以透過文章ID去取得相關資訊,
正確的帶入 type/sub-type,取決於怎麼記錄和文章ID有關type/sub-type,
之後將資訊(db or file)拿出來,再決定網址要長什麼樣子,用php就可以做到

火爆浪子 iT邦研究生 1 級 ‧ 2018-09-25 16:24:33 檢舉

RewriteRule ^[0-9]*$ src/blog-redirector.php?blog_id=$1

也寫了一個這樣的 rewrite
但似乎失效,一直沒辦法在 blog-redirector.php 顯示 $_GET['blog_id']

現在我用 http://localhost:9001/12345 試,不行。都是空白頁,一直印不出 $_GET['blog_id'],但路徑改成 http://localhost:9001/src/blog-redirector.php?blog_id=12345 就可以抓到,不知道是哪設置有問題,可能是 RewriteRule 寫錯?

我要發表回答

立即登入回答