我正在練習使用,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 裡頭添加甚麼判斷才能成功執行
改這樣試試
RewriteEngine On
RewriteBase /blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [QA,L]
其實,不太了解你的需求是什麼就是了。
照你這樣的規則來看。的確就只有
http://yoyoyo.com.tw/blog/?????
才能過沒錯。
畢竟你的規則是在/blog下。然後不能子對應目錄跟子對應檔案。
所以自然就只有/blog/???? 可以過了。
不好意思,我沒有描述好需求,需求就是我在使用 React-Router 製作SPA 的連結,因為只有 index.html 一個檔案而已,為了避免出現 4 04 我必需轉回到 index.html 現在遇到的瓶頸就是我不知道該怎麼修改,才能將 /blog/???? 以外的網址(ex: /blog/????/XXXX) 也轉回去 index.html
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
要怎麼修改呢?