/** * Adds the rules to rewrite anything to the index.php */ function AddIndexCommands() { $condition = new RewriteCondition('$1', '!^(index\\.php|files|phine|robots\\.txt)'); $this->writer->AddContent($condition); $rule = new RewriteRule('(.*)$', 'index.php'); $rule->AddFlag(new CommandFlag(FlagType::Qsa())); $rule->AddFlag(new CommandFlag(FlagType::L())); $this->writer->AddContent($rule); }
/** * Adds necessary rewrite commands */ private function AdjustHtaccess() { $file = Path::Combine(PHINE_PATH, 'Public/.htaccess'); if (!File::Exists($file)) { return; } $writer = new Writer(); $rewriter = new Rewriter($writer); $text = File::GetContents($file); $startPos = strpos($text, (string) $rewriter->PageStartComment($this->page)); $endPos = false; $pageFound = false; if ($startPos === false) { $startPos = strpos($text, (string) $rewriter->EndComment()); $endPos = $startPos; } else { $endPos = strpos($text, (string) $rewriter->PageEndComment($this->page)); if ($endPos !== false) { $pageFound = true; $endPos += strlen((string) $rewriter->PageEndComment($this->page)); } } if ($startPos === false || $endPos === false) { return; } $rewriter->AddPageCommands($this->page); $newText = substr($text, 0, $startPos) . $writer->ToString() . substr($text, $endPos); File::CreateWithText($file, $newText); }