我有一个网页,现在我想添加子域名,以便有更多可读的网址
例如,如果我的主页是www.myshop.com
添加
product1.myshop.com
category1.myshop.com
etc...
它托管在Digital Ocean上,运行于: Ubuntu,nginx,unicorn和POstgreSql数据库,使用Ruby on Rails开发
一旦我阅读了有关子域名的文档,我就意识到我可以拥有可变子域名,我尝试过的是:
1)在“数字海洋的域配置
中添加带有*的”A“记录2)修改nginx配置文件,添加一条新行,就像我为“www”子域所做的那样,但是带有“*”
server {
listen 80;
server_name myshop.com;
return 301 $scheme://www.myshop$request_uri;
# NEW LINE --->
return 301 $scheme://*.myshop$request_uri;
}
之后,在Ruby on Rails程序中,在myshop.com
之前捕获任何内容(类别,产品名称等作为子域名)很容易,并且我可以重定向到类别网页或产品网页,或者其他什么自动!
因此,例如,如果用户输入whells.myshop.com
,我将重定向到www.mysop.com/categories/wheels
(当然,最棒的是 wheels 是表中的值)
,无需在Digital Ocean或ngingx配置文件中注册子域名
但是,似乎太容易了......:/
这不安全吗?是一种不好的做法?
非常感谢,(stackoverflow:非常好的网站和非常好的用户)
答案 0 :(得分:1)
不,使用子域不存在固有风险,而不是使用路径来引导请求。这完全取决于您如何组织代码,使用什么工具,如何组织在网站上工作的不同团队等。
在这两种情况下,您都需要强大的身份验证和授权。
通常,当您在同一个域中有两个不同的网站时,子域很有用。例如,wordpress.com为在wordpress.com
上拥有网站的每个用户使用子域。如果我要在那里设置一个网站,那就是saq7.wordpress.com
。
但是,他们也可以选择使用路径路由到不同用户www.wordpress.com/saq7
的不同网站。
您可以选择作为工程师,标准为