如何在Passenger中創建永久重定向(301)?在其他地方有關於如何在Rails中執行重定向的帖子,但是在服務器級而不是在Rails級別執行重定向似乎更好。301重定向在Passenger(Ruby on Rails)從根域到www子域?
任何線索?
謝謝!
如何在Passenger中創建永久重定向(301)?在其他地方有關於如何在Rails中執行重定向的帖子,但是在服務器級而不是在Rails級別執行重定向似乎更好。301重定向在Passenger(Ruby on Rails)從根域到www子域?
任何線索?
謝謝!
服務器級重定向是使用HTTP服務器完成的,而不是應用服務器。下面是一些例子:
阿帕奇
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAlias example.com
Redirect Permanent/http://www.example.com
</VirtualHost>
Nginx的
server {
server_name example.com;
rewrite ^/(.*) http://www.example.com/$1 permanent;
}
Lighttpd的
$HTTP["host"] =~ "^example\.com$" {
url.redirect = ("^/(.*)" => "http://www.example.com/$1")
}
雖然這是鐵三角lly可能在後面的堆棧中實現這一點,就像使用Rack應用程序一樣,儘可能早地執行此操作可以節省您的服務器cpu週期。有時候你必須稍後再做,比如像Heroku這樣的主機,它不會讓你改變你的HTTP設置,但是如果你有選擇在這裏做的話,那就是我的建議。
您確定您希望在Passenger級別,而不是在Nginx/Apache級別上......即,爲什麼重定向甚至能夠在堆棧中實現。
根據您使用的服務器,網絡上有資源告訴您如何完成此操作。
其中`Apache`文件配置通常位於何處? – 2014-12-27 01:10:49