lib/capistrano/tasks/simple_htaccess.rake in capistrano-simple-htaccess-0.1.1 vs lib/capistrano/tasks/simple_htaccess.rake in capistrano-simple-htaccess-1.0.0
- old
+ new
@@ -1,29 +1,32 @@
# frozen_string_literal: true
namespace :load do
task :defaults do
set :redirect_OK, false
+ set :document_root, '/var/www/html'
set :HTACCESS, <<~HTACCESS
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
- RewriteCond %{REQUEST_URI} !/current/
- RewriteRule ^(.*)$ current/$1 [L]
+ RewriteBase "%<base>s"
+ RewriteRule ^current(.*) %<base>s$1 [NC,R,END]
+ RewriteRule ^((?!current/).*)$ current/$1 [NC,END]
</IfModule>
HTACCESS
end
end
namespace :deploy do
namespace :simple_htaccess do
task :create_htaccess do
on roles :web do
- unless fetch(:redirect_OK)
- upload! StringIO.new(fetch(:HTACCESS)), "#{deploy_to}/.htaccess"
- end
+ document_root = fetch :document_root
+ base_dir = deploy_to.delete_prefix(document_root)
+ filled_template = format(fetch(:HTACCESS), base: base_dir)
+ upload! StringIO.new(filled_template), "#{deploy_to}/.htaccess" unless fetch(:redirect_OK)
end
end
task :ensure_htaccess do
on roles :web do