我有一个使用React-Router的React webapp。我想使用漂亮的网址,并thus opted to use browserHistory for manipulating the URL。
我想使用Docker设置服务器并选择nimmis/apache-php5,我或多或少地连接到这样的外部卷;
docker run -d -p 80:80 -v ~/externalFolder/:/var/www/html/ nimmis/apache-php5.
为了让React-Router的browserHistory工作,我需要像这样设置.htaccess;
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
我想如果我在外部卷的根中有这个,那么一切都应该是好的。但它没有用。
我怎样才能让它发挥作用?
答案 0 :(得分:1)
我试图使用的docker图像太有限了,我需要自定义它太多(使用额外的模块安装等),所以我只是选择滚动我自己的docker图像。我也和nginx一起去了。
答案 1 :(得分:0)
除了.htaccess
文件中的潜在拼写错误外,请确保使用绝对路径而不是~
(应将shell解析为绝对路径,但最好确保并且自己指定)。
来自" Mount a host directory as a data volume"
container-dir
必须始终是绝对路径,例如/ src / docs。host-dir
可以是绝对路径或名称值。如果为host-dir提供绝对路径,则Docker将绑定到您指定的路径。
docker run -d -p 80:80 -v /home/<yourLogin>/externalFolder/:/var/www/html/ nimmis/apache-php5