Esempio n. 1
0
 public function testInstance()
 {
     $rule = new RedirectRule([1, Redirect::TYPE_EXACT, Redirect::TARGET_TYPE_PATH_URL, '/from/url', '/to/url', null, null, 301, null, Carbon::today(), Carbon::tomorrow()]);
     self::assertEquals(1, $rule->getId());
     self::assertEquals(Redirect::TYPE_EXACT, $rule->getMatchType());
     self::assertEquals(Redirect::TARGET_TYPE_PATH_URL, $rule->getTargetType());
     self::assertEquals('/from/url', $rule->getFromUrl());
     self::assertEquals('/to/url', $rule->getToUrl());
     self::assertEquals(301, $rule->getStatusCode());
     self::assertEquals(Carbon::today(), $rule->getFromDate());
     self::assertEquals(Carbon::tomorrow(), $rule->getToDate());
 }
Esempio n. 2
0
 /**
  * Redirect with specific rule
  *
  * @param RedirectRule $rule
  * @return void
  */
 public function redirectWithRule(RedirectRule $rule)
 {
     $this->updateStatistics($rule->getId());
     if ($rule->getStatusCode() === 404) {
         abort($rule->getStatusCode(), 'Not Found');
     }
     $toUrl = $this->getLocation($rule);
     if (!$toUrl || empty($toUrl)) {
         return;
     }
     header('Location: ' . $toUrl, true, $rule->getStatusCode());
     exit;
 }