4

私はこのhtaccessファイルコンテンツを持っています:

Options +FollowSymLinks 
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^admin/([a-zA-Z]+)/?([a-zA-Z0-9/]*)$ public/admin/index.php?page=$1&query=$2 [L]
RewriteRule ^([a-zA-Z]+)/?([a-zA-Z0-9/]*)$ public/index.php?page=$1&query=$2 [L]

そして今、セッションに応じてリダイレクトを作成しようとしています。非常に単純なものです。この機能を備えたコントローラーがあります:

protected function redirect($url) {
    header("Location: http://localhost:8888/myproject/" . $url, true);
    exit(); 
}

Controller を拡張した ClientController にはページ機能がある

private function user_page() {
   $this->redirect("homepage");  //Not working...
}

次のような場所のパスを書くさまざまな方法を試しました

Location: localhost:8888/myproject/" . $url,
Location: /myproject/" . $url,

stackoverflow に関するすべての投稿を読んだ後、これらの解決策のどれもうまくいかなかったことがわかりました..


編集:これに対する解決策は、ヘッダーの場所へのリダイレクトで確認できますが機能しません

4

1 に答える 1

1

Location へのヘッダー リダイレクトからの回答が得られなかった後、問題は Controller の後に入力されたスペースの行であることがわかりました?>。そのため、それに気付くまでに時間がかかりました。


明確化: 同じ問題がある場合は、行番号が設定されていることを確認し、ファイルの内容の後に行番号が表示されるかどうかを確認してください。ある場合は、後に空白行がある場合もあります。これらを削除するだけです。言うまでもなく、同じことが filecontent の前の行番号にも当てはまります。

于 2013-07-07T21:10:14.667 に答える