diff --git a/src/applications/phurl/controller/PhabricatorPhurlURLViewController.php b/src/applications/phurl/controller/PhabricatorPhurlURLViewController.php --- a/src/applications/phurl/controller/PhabricatorPhurlURLViewController.php +++ b/src/applications/phurl/controller/PhabricatorPhurlURLViewController.php @@ -86,7 +86,7 @@ ->setTag('a') ->setText(pht('Visit URL')) ->setIcon('fa-external-link') - ->setHref("u/{$id}") + ->setHref($url->getRedirectURI()) ->setDisabled(!$url->isValid()); $header = id(new PHUIHeaderView()) @@ -130,6 +130,10 @@ ->setUser($viewer); $properties->addProperty( + pht('Short URL'), + $url->getRedirectURI()); + + $properties->addProperty( pht('Original URL'), $url->getLongURL()); diff --git a/src/applications/phurl/storage/PhabricatorPhurlURL.php b/src/applications/phurl/storage/PhabricatorPhurlURL.php --- a/src/applications/phurl/storage/PhabricatorPhurlURL.php +++ b/src/applications/phurl/storage/PhabricatorPhurlURL.php @@ -99,10 +99,18 @@ public function getRedirectURI() { if (strlen($this->getAlias())) { - return '/u/'.$this->getAlias(); + $path = '/u/'.$this->getAlias(); } else { - return '/u/'.$this->getID(); + $path = '/u/'.$this->getID(); } + $short_domain = PhabricatorEnv::getEnvConfig('phurl.short-uri'); + if (!$short_domain) { + return $path; + } + + $uri = new PhutilURI($short_domain); + $uri->setPath($path); + return (string)$uri; } /* -( PhabricatorPolicyInterface )----------------------------------------- */