_make_link bug fix

1. parse_str is destructive. So can't use in ternary operator.
2. $url['port'] is not empty, then add ':' after $url['host'].
    (for example: http://localhost:8080)