.htaccess cannot be included
Clpsplug opened this issue · 3 comments
This may be related to #47.
Summary
It seems that include: ['.htaccess']
in config.yml
is negated by this plugin.
Environment
gem "jekyll", "~> 4.1.1"
group :jekyll_plugins do
gem 'jekyll-multiple-languages-plugin'
end
Steps to reproduce
- Create a Jekyll website
- Add this plugin
- in config.yml, write
include: ['.htaccess']
- Create .htaccess (its content doesn't really matter)
- Run
jekyll serve
orjekyll build
The BUG behavior
.htaccess
file cannot be found anywhere in the _site
directory.
The expected behavior
.htaccess
file appears in the root of the _site
directory.
Notes
We have this line in the current version (1.7.0:)
3d9d64e
which fixed #47.
However, maybe because of this line, I'm not getting my .htaccess file to show up anywhere in the _site
folder like it was not explicitly included outright.
The commit message says that this line should take effect after the pages for the base language are constructed (hence the expected behavior,) but it's not doing that.
Currently, I have to manually copy the .htaccess
file, which is already causing deployment mistakes here and there. Issue #47 is for Jekyll 2.x,
so it's possible that the internal working of Jekyll changed across major versions.
I have the same issue. Last working version was 1.6.1
I found a workaround. Use the keep_files
directive in _config.yaml.
Usually, Jekyll wipes the _site
directory (the output directory) clean before each build. This key will tell Jekyll to leave the specified files in the output-dir intact.
So you want to write this in your _config.yaml
...:
keep_files:
- .htaccess
...and either:
- put your
.htaccess
in your_site
directory or - put your
.htaccess
somewhere else, and symlink it to_site/.htaccess.
The code explicitly removes this file probably because it would be duplicated in each translated site page:
# Remove .htaccess file from included files, so it wont show up on translations folders.
self.include -= [".htaccess"]
This solution doesn't seem ideal though.