Question: determine all functions $ f : \mathbb R ^ + \to \mathbb R ^ + $, such that: $$ f \left( x ^ { f ( y ) } \right) = f ( x ) ^ y $$ for all positive numbers $ x $ and $ y $.
It's easy to see that $ f ( 1 ) = 1 $, because letting $ x = 1 $ we have $$ f ( 1 ) = f \left( 1 ^ { f ( y ) } \right) = f ( 1 ) ^ y \text . $$ Then for $ y = 2 $ we get $ f ( 1 ) ^ 2 = f ( 1 ) $, and since $ f ( 1 ) $ is positive, we can divide both sides by $ f ( 1 ) $.
It's also easy to see that $ f ( x ) = 1 $ and $ f ( x ) = x $ work.
The only functions $ f : \mathbb R ^ + \to \mathbb R ^ + $ satisfying $$ f \left( x ^ { f ( y ) } \right) = f ( x ) ^ y \tag 0 \label 0 $$ are $ f ( x ) = 1 $ and $ f ( x ) = x $. It's easy to check that these indeed satisfy \eqref{0}. We show that if there is an $ a \in \mathbb R ^ + $ such that $ f ( a ) \ne 1 $, then $ f $ is the identity function, and thus those are the only solutions.
First, note that letting $ x = a $ in \eqref{0} we can conclude that if $ f ( y ) = f ( z ) $, then $ f ( a ) ^ y = f ( a ) ^ z $, and since $ f ( a ) \ne 1 $, thus $ y = z $, which shows that $ f $ is injective. Then, use \eqref{0} to get $$ f \left( 2 ^ { f ( x y ) } \right) = f ( 2 ) ^ { x y } = \big( f ( 2 ) ^ x \big) ^ y = f \left( 2 ^ { f ( x ) } \right) ^ y = f \left( \left( 2 ^ { f ( x ) } \right) ^ { f ( y ) } \right) = f \left( 2 ^ { f ( x ) f ( y ) } \right) \text , $$ which by injectivity of $ f $ shows that $$ f ( x y ) = f ( x ) f ( y ) \text . \tag 1 \label 1 $$ Now, using \eqref{0} and \eqref{1} we have $$ f \left( 2 ^ { f ( x + y ) } \right) = f ( 2 ) ^ { x + y } = f ( 2 ) ^ x f ( 2 ) ^ y = f \left( 2 ^ { f ( x ) } \right) f \left( 2 ^ { f ( y ) } \right) = f \left( 2 ^ { f ( x ) } 2 ^ { f ( y ) } \right) = f \left( 2 ^ { f ( x ) + f ( y ) } \right) \text , $$ which again shows that $$ f ( x + y ) = f ( x ) + f ( y ) \text . \tag 2 \label 2 $$ It's a well-known fact that the only functions $ f : \mathbb R ^ + \to \mathbb R ^ + $ satisfying \eqref{2} are the functions of the form $ f ( x ) = c x $ for some $ c \in \mathbb R ^ + $. The idea is to follow these steps:
The additional property \eqref{1} forces $ c = 1 $ by letting $ x = y = 1 $, and thus the only function $ f : \mathbb R ^ + \to \mathbb R ^ + $ satisfying both \eqref{1} and \eqref{2} is the identity function.