我有一个 AWS EC2 实例,并且我正尝试将两个不同的 URL 指向同一个实例。
我使用 NGINX(端口 80)作为 Ruby 服务器,使用 APACHE2(端口 8080)作为 WordPress 服务器。
我配置了 NGINX,以便当请求“blog.example.com”时,我将其重定向到 example.com:8080/html/wordpress/,如下所示:
server{
listen 80;
server_name blog.example.com;
location{
proxy_pass http://example.com:8080/html/wordpress/;
}
}
访问 blog.example.com 作为主页没问题。但是,当我尝试登录时,我得到的 URL 类似于http://example.com:8080/html/wordpress/wp-login.php
我想要实现的是将该 URL 转换为 blog.example.com/wp-login.php 或 blog.example.com/login
我尝试在 /etc/apache2/sites-available/000-default.conf 文件上使用 mod_rewrite,但没有成功。
000-default.conf 文件:
<VirtualHost *:8080>
ServerName example.com
RewriteEngine on
RewriteRule example.com:8080/html/wordpress/(.*)$ blog.example.com/$1 [P,L]
</VirtualHost>
我该怎么做才能解决这个问题?有没有比重写更好的方法?
答案1
您需要让 Wordpress 生成不包含端口号的 URL。Web 服务器无法完成此任务,因为它们无法很好地理解 HTML 代码以可靠地转换 URL。