我正在尝试让Capistrano部署我的网络应用程序。我正在通过Windows计算机使用remote_cache从git repo部署到Linux主机的php应用程序。除了没有复制.htaccess文件外,一切都正常部署。我是Capistrano和Ruby的新手,所以任何指针都会有所帮助!
Capistrano 2.5.18,在Windows上使用Ruby 1.8.6
答案 0 :(得分:1)
首先手动删除htaccess,然后在每次部署时删除/符号链接
desc "remove .htaccess"
task :htaccess do
run "rm #{path}/.htaccess"
run "ln #{path}/.htaccess #{release_path}/public/.htaccess"
end
答案 1 :(得分:0)
约翰,请参阅http://groups.google.com/group/capistrano/browse_thread/thread/c3f43079a8e221b3/a714ca05bc5eb1d1
答案 2 :(得分:0)
这对我有用,但我在site5上,所以你的htaccess文件的内容可能会有所不同;我在deploy.rb文件的底部添加了以下内容:
after "deploy:create_symlink", "MYAPPNAME:htaccess_setup"
namespace :MYAPPNAME do
task :htaccess_setup, :roles => :app do
htaccess = "PATHTOMYPUBLICDIR/.htaccess"
run "if [ ! -f #{htaccess} ]; then echo 'PassengerEnabled On' > #{htaccess}; echo 'PassengerAppRoot #{current_path}' >> #{htaccess}; echo '.htaccess created'; else echo '.htaccess already exists (untouched)'; fi"
end
end