我想进行重定向,以便为用户提供更清晰的网址。
我想改变:
http://mydomain.com/main/username/profile
要:
http://mydomain.com/username/profile
我会用重写或alian这样做吗?
答案 0 :(得分:8)
首先,您必须了解重定向和别名之间的区别。
重定向会向请求/main/username/profile
的用户发送/username/profile
。该URL将在浏览器中更改。如果搜索引擎可以访问URL,这一点尤其重要,因为否则它们会将同一页面索引两次(重复内容)。
如果您决定使用重定向,则应确保您的网址保持这种状态。原因是Cool URIs don't change。
重定向示例:
server {
# ...
location / {
# ...
location ~ /main/([a-zA-Z0-9]+)/profile$ {
# SEO effective redirect
return 301 /$1/profile;
}
# ...
}
}
别名用于告诉nginx所请求的文件未被文件系统上的URL映射,并且应该在别处查看。以下示例来自nginx wiki:
root /var/www;
location /i/ {
alias /spool/w3/images/;
}
对/i/empty.gif
的请求不会映射到/var/www/i/empty.gif
。相反,它将与/spool/w3/images/empty.gif
匹配。