我正在运行 nginx,在配置文件中我需要始终将域 example.com 重定向到 example.com/test。我尝试了各种方法来实现这一点,但总是出现重定向错误。
编辑:值得一提的是,我仅有的希望 example.com 重定向到 example.com/test。我不希望 example.com/something 的 URL 中包含 /test。
正确的方法是什么?
这是我当前 nginx.conf 的片段:
server {
server_name example.com www.example.com;
location / {
rewrite ^.+ /test permanent;
}
}
server {
listen 80;
server_name www.example.com example.com;
location / {
root /var/www/apps/example/current/public;
passenger_enabled on;
rails_env production;
}
}
答案1
我不记得了,但不知何故是正确的方法:
server {
server_name example.com;
rewrite ^/$ http://www.example.com/test permanent;
}
答案2
samarudge 是正确的 - 您应该只有一个server
块。
尝试将root
、passenger_enabled
和rails_env
放在 正下方server
(甚至http
)
server {
listen 80;
server_name www.example.com example.com;
root /var/www/apps/example/current/public;
passenger_enabled on;
rails_env production;
location / {
rewrite ^.+ /test permanent;
}
}