iT邦幫忙

0

React-Roucter ubuntu apache .htaccess 設定

我正在練習使用,React-Roucter 其中的 BrowserRouter
伺服器是 ubuntu apache 2.4
我 google 許久,得到的結論是

RewriteEngine On
RewriteBase /blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [QSA,L]

但是 問題來了
http://yoyoyo.com.tw/blog/article ---> 可行
http://yoyoyo.com.tw/blog/article/ ---> 不可行
http://yoyoyo.com.tw/blog/article/123 ---> 當然也不可行

我該在 .htaccess 裡頭添加甚麼判斷才能成功執行

2 個回答

0
Homura
iT邦高手 2 級 ‧ 2018-12-13 09:45:03
最佳解答

改這樣試試

RewriteEngine On
RewriteBase /blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [QA,L]
看更多先前的回應...收起先前的回應...
qo7835110 iT邦新手 5 級 ‧ 2018-12-13 10:15:28 檢舉

還是不行欸!!

Homura iT邦高手 2 級 ‧ 2018-12-13 10:20:08 檢舉

qo7835110
不行怎選最佳解/images/emoticon/emoticon06.gif

qo7835110 iT邦新手 5 級 ‧ 2018-12-13 10:22:43 檢舉

一樣僅限於在 /blog/home , /blog/home/XXX 就報錯

qo7835110 iT邦新手 5 級 ‧ 2018-12-13 10:25:57 檢舉

因為我一開始開到 loacal 端 以為可以了就按下去,然後就收不回來了XD

Homura iT邦高手 2 級 ‧ 2018-12-13 10:40:39 檢舉
qo7835110 iT邦新手 5 級 ‧ 2018-12-13 10:56:14 檢舉

Homura
這篇我看過,無法,他跟我唯一的差異在於 QSA 與 QA ,而 QA 不確定是不是打錯字,伺服器會直接報錯。

0
浩瀚星空
iT邦高手 1 級 ‧ 2018-12-12 18:00:44

其實,不太了解你的需求是什麼就是了。
照你這樣的規則來看。的確就只有

http://yoyoyo.com.tw/blog/?????

才能過沒錯。
畢竟你的規則是在/blog下。然後不能子對應目錄跟子對應檔案。
所以自然就只有/blog/???? 可以過了。

qo7835110 iT邦新手 5 級 ‧ 2018-12-12 21:29:26 檢舉

不好意思,我沒有描述好需求,需求就是我在使用 React-Router 製作SPA 的連結,因為只有 index.html 一個檔案而已,為了避免出現 4 04 我必需轉回到 index.html 現在遇到的瓶頸就是我不知道該怎麼修改,才能將 /blog/???? 以外的網址(ex: /blog/????/XXXX) 也轉回去 index.html

qo7835110 iT邦新手 5 級 ‧ 2018-12-13 05:12:00 檢舉
RewriteEngine On
RewriteBase /blog
RewriteRule ^(home)(\/)([0-9]{0,4}) index.html [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [QSA,L]

我現在的寫法是這樣
我想要當網址為 /blog/home/XXX ,也能夠導向 index.html
要怎麼修改呢?

我要發表回答

立即登入回答