2017-01-26 1 views
0

私はparamsを扱い、相対ページを表示する2つのページを取得しました。まず、認証ルートとデフォルトルートです。.htaccessは2つの異なるページを扱います。

http://example.com/auth/login 
http://example.com/dashboard 

まずページauth.phpとのparamページ(EG:http://example.com/auth.php?page=login)によって処理されます。 2番目はindex.phpとparamページ(EG:http://example.com/index.php?page=dashboard)によって処理されます。

RewriteEngine On 
RewriteRule ^([^/]*)$ /index.php?page=$1 [L] 
RewriteRule ^auth/([^/]*)$ /auth.php?page=$1 [L] 

しかし、この原因エラー500、私がログインして認証ページに到達することができるよ二行目のコメント:私はオンラインジェネレータを使用して.htaccessファイルを作りました

は、それはのようなものですparam。あなたがそうでなければ、パターン以来、書き換えループエラーが発生しますし、書き換えされている目的地を除外しなければならない

[Thu Jan 26 20:31:04.795013 2017] [mpm_prefork:notice] [pid 7163] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.20 configured -- resuming normal operations 
[Thu Jan 26 20:31:04.795100 2017] [core:notice] [pid 7163] AH00094: Command line: 'apache2' 
+0

いつものようにhttpステータス500:内部エラーですので、httpサーバのエラーログファイルを調べてより具体的な情報を入手してください。 – arkascha

+0

私はc9 ideにあるので、返信してくれてありがとう。/ var/log/apache2ディレクトリに到達すると、Apacheログファイルにアクセスできないので、私は両方のファイル(errors.logとaccess.log)空白なので、ログを見つける方法がわかりません – andreaem

+0

次に、ログファイルの場所が設定されているhttpサーバーのホスト構成を見てみましょう。それらが設定されていない場合は、有効にしてください。そのログファイルを監視せずにWeb環境でphpをプログラミングすることはできません。それは狭い洞窟の中で盲目を飛ぶようなものです。 – arkascha

答えて

1

([^ /:

のApache2のerror.logには、サーバの起動に関連するこれだけを書きました] +)/index.phpと一致します。したがって、最初のルールを次のように変更してください:

RewriteRule ^((?!index.php).+)$ /index.php?page=$1 [L] 
+0

これは動作していますが、これはjavascriptの資産を壊しました。jqueryを含むすべてのファイルで予期しないトークン '<'が発生しました – andreaem

+0

私を助けてくれますか? – andreaem

関連する問題