我有一个网站,我正在努力移动,以便在.htaccess上使用虚拟主机配置。我想知道我是否有权限。
我重写了php slim框架,删除了index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]当我进行从.htaccess迁移到生产服务器的更改时,路由失败。我意识到重写不是在:80虚拟主机上进行的,而是在:443 letsencrpyt虚拟主机中指定的。
在紧要关头,我只是将上面的重写代码移到letsencrpyt中,瞧,它起作用了。
似乎certbot使用:80端口来创建:443,所以我不能删除它,只使用生成的端口。现在我只是在复制这两者之间的逻辑。
对于这种类型的重写,我有一个问题,我应该把它留在.htaccess中吗?或者,当我更改默认端口80时,有没有办法用certbot更新ssl vhost?
发布于 2019-07-28 17:03:40
考虑到你对这个问题的评论,我现在看到你的实际问题是:
“如何在apache http服务器中的不同主机之间共享配置指令?”
使用Include语句很容易做到这一点:
<VirtualHost *:80>
# include the rules common for http and https
Include sites-includes/shared-config.inc
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
# include the rules common for http and https
Include sites-includes/shared-config.inc
</VirtualHost>
</IfModule>使用它,您现在可以在文件sites-includes/shared-config.inc (或您想要放置它的任何位置)中定义公共配置指令。
https://stackoverflow.com/questions/57211957
复制相似问题