我想做一个redirect为了给我的用户更干净的url。
我想改变:
http://mydomain.com/main/username/profile
至:
http://mydomain.com/username/profile
我会用重写还是阿里安来做这个?
首先,您必须了解重定向和别名之间的区别。
重定向将发送请求/main/username/profile
/username/profile
。 该网址将在浏览器中更改。 如果搜索引擎可以访问这个URL,这个特别重要,因为它们会以相同的页面索引两次(重复的内容)。
如果您决定使用重定向,则应确保您的网址保持原样。 这个原因是很酷的URI不会改变 。
重定向示例:
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
。