Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用capistrano ext为每个阶段提供一个public/.htaccess_Ruby On Rails_.htaccess_Environment Variables_Capistrano - Fatal编程技术网

Ruby on rails 如何使用capistrano ext为每个阶段提供一个public/.htaccess

Ruby on rails 如何使用capistrano ext为每个阶段提供一个public/.htaccess,ruby-on-rails,.htaccess,environment-variables,capistrano,Ruby On Rails,.htaccess,Environment Variables,Capistrano,我使用Capistrano multistage(Capistrano ext)部署到暂存或生产 问题是我在共享主机中使用了Passenger,需要在public/.htaccess文件中指定PassengerAppRoot。显然,这在不同的阶段是不同的 如何保存此文件的不同“阶段版本”?我没有使用capistrano ext,但我假设您的Capfile中的某个地方将阶段作为变量。让我们假设它是变量“stage”。我们还假设您在代码中的某个地方签入了两个不同的版本(public/.htacces

我使用Capistrano multistage(Capistrano ext)部署到暂存或生产

问题是我在共享主机中使用了Passenger,需要在
public/.htaccess
文件中指定
PassengerAppRoot
。显然,这在不同的阶段是不同的


如何保存此文件的不同“阶段版本”?

我没有使用capistrano ext,但我假设您的Capfile中的某个地方将阶段作为变量。让我们假设它是变量“stage”。我们还假设您在代码中的某个地方签入了两个不同的版本(public/.htaccess-{production | staging})

您可以设置一个任务,以便在部署后对正确的文件进行符号链接(或复制):

desc 'Set up a stage-appropriate .htaccess file'
task 'update_htaccess' do
  run "ln -s #{release_path}/public/.htaccess-#{stage} #{release_path}/public/.htaccess"
end

after "deploy:update_code", "update_htaccess"