在外部卷中设置.htcaccess以使Docker无法正常工作

时间:2016-06-08 05:13:45

标签: apache reactjs docker react-router

我有一个使用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]

我想如果我在外部卷的根中有这个,那么一切都应该是好的。但它没有用。

我怎样才能让它发挥作用?

2 个答案:

答案 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