问题描述
基本上,我的站点是https://howtodiscuss.com,其discourse通过Vhost文件中提到的端口通过Docker运行。 (为保护隐私而隐藏了端口)。
howtodiscuss.com/t/topic-name/123
,其中123是主题ID
例如,如果我的原始HTML主题URL是
https://howtodiscuss.com/t/how-to-discuss-salary-in-an-interview/18761
我想通过附加?amp=true
或&=true
例如上面的内容,在上述URL的末尾获得此页面的AMP版本,
https://howtodiscuss.com/t/how-to-discuss-salary-in-an-interview/18761?amp=true
OR
在https://howtodiscuss.com/t/how-to-discuss-salary-in-an-interview/18761&=true上
那是我想要的。
因此,由于我无法在discourse中进行任何重定向/路由,因此我必须通过Nginx进行此操作。我的网站目前使用Nginx虚拟主机托管。 (因为此服务器上有多个站点)。
我的主题页面的AMP版本存在于一个PHP文件中,您可以将其命名为index.PHP
,我可以将其放在服务器上的该路径上:
index.PHP
可以位于此路径/var/www/amp
我的网站文件本身位于
话语文件夹(网站)位于此路径/var/www/discourse
我的网站的Nginx Vhost配置如下:
#htd Server
server {
listen 443 ssl http2;
ssl on;
ssl_certificate /path/to/cert/site.pem;
ssl_certificate_key /path/to/cert/site.key;
server_name howtodiscuss.com www.howtodiscuss.com;
location / {
proxy_ssl_server_name on;
proxy_pass http://localhost:PORT;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
}
此Vhost配置文件位于路径/etc/Nginx/sites-available/howtodiscuss.com
现在我需要在Vhost文件中添加确切的Nginx重定向代码(以及在哪一行上的确切位置),以便在AMP主题页面上命中请求时,可以命中?amp=true
或&=true
例如,如果请求达到
https://howtodiscuss.com/t/how-to-discuss-salary-in-an-interview/18761?amp=true
然后,它应该为该确切的主题ID提供index.PHP/t/how-to-discuss-salary-in-an-interview/18761
的PHP代码,因为我使用该主题ID在PHP的AMP页面上填充该帖子ID的内容。我的PHP代码中已经存在此路由逻辑。
因此,可以将AMP放在/amp
之类的子文件夹中,或者我可能错了,我们可以在amp.howtodiscuss.com
之类的子域中使用吗?我想通过在原始HTML URL的末尾附加查询参数?amp=true
来保持AMP路由在根域上,从而避免在子域上维护SEO权限。
https://howtodiscuss.com/amp/t/how-to-discuss-salary-in-an-interview/18761
OR
https://amp.howtodiscuss.com/t/how-to-discuss-salary-in-an-interview/18761
我该如何实现?但是无论在哪里托管AMP都没关系,因为最终用户应始终只在原始HTML页面末尾看到?amp=true
即可看到其AMP版本。
我遇到的另一个问题是,如果我现在点击了我网站上的404页面,例如https://howtodiscuss.com/amp(尚不存在),它会将我重定向到托管在同一服务器上的另一个网站,如何停止此重定向?
请帮助我提供确切的代码段以及在我的网站的根域(而非子域)上的论述主题页面上放置PHP文件以实现此AMP支持的确切路径。以及如何删除到另一个站点的404重定向(如果它是404路由的话)?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)