web-dev-qa-db-ja.com

新規Drupalインストールがフロントページを超えて機能しない(データベースにアクセスしない))

新しいdrupal 7.39をdrushを使用してインストールしました。ブラウザからは、フロントページ(ウェルカムページ)までしか行けません。それ以上はログインできません。ログインできないため、= drupalはデータベースにアクセスしていません。インストールはスムーズに進みました。以下は私のdrushコマンドです。何か問題がありますか?

$ drush site-install standard --db-url="mysql://root@localhost/mydrupal1" --site-name=MyDrupal1 --account-name=my_username --account-pass=my_password
1
okey_on

私は解決策を見つけました:WAMPサーバーのrewrite_moduleが有効になっていないことに気づきました(私のWAMPサーバーも新規インストールです。そしてDrupalは.htaccess for URL resolution)、それで私は単にそれを有効にしました。問題は解決しました。

rewrite_moduleが無効(デフォルト)の場合、drupalサイトは、要求されたURLを解決できないため、フロントページ(デフォルトのページ)を超えて移動できませんでした) 、データベースにアクセスするURLを含みます。

ご清聴ありがとうございました。

0
okey_on

別のブラウザを使用して同じ問題が発生するかどうかを確認します。別のブラウザーで機能する場合は、Cookieの問題である可能性があります。その場合の対策は、問題のあるブラウザーでCookieを削除して、再試行することです。それ以外の場合は、他の一般的な理由(オプション)を読んでください...

オプション1-RewriteRuleおよびRewriteBase

?q=userまたは?q=adminを含むURLを使用できるかどうかを確認してください。詳細については、 " 7.26/admin、/ user not found on Localhost "(約RewriteRule)に対する私の回答を参照してください。

その回答には、「 drupal /?q = user is working but/user not working "に関する質問へのリンクがあり、その質問の承認された回答がチューニングの詳細を提供していますRewriteBaseを.htaccessに追加します。

オプション2-管理オプション「クリーンURL」

?q=adminURLを使用してから、/index.php?q=admin/config/search/clean-urlsに移動してclean urlsの現在のステータスを確認してください(有効または無効です)。 「クリーンURL」が有効になっていることを確認してください。

詳細については、「 クリーンURLは別のホスティングへの移行後に重複したURLになる 」を参照してください。

オプション3-base_url

「base_url」の値が正しく設定されていることを確認してください( settings.php で)。

オプション4-.htaccessファイル

.htaccessファイルがDrupalが存在するディレクトリに存在する(および/または不完全でも破損していない)かどうかを確認します。不足している場合はアップロードしてください。必要に応じてもう一度コピーしてくださいDrupal.orgの "Drupal"アーカイブファイル(.Zipまたは.tar)からもう一度、新しい.htaccessファイルを使用します。

4
Pierre.Vriens

Pierreの提案に加えて、settings.phpファイルの$ cookie_domainの値も確認する必要があります。これが正しく設定されていない場合(たとえば、ローカルホスト経由でサイトにアクセスしているときにmylivesitedomain.comに)、ログインできなくなります。Drupalは正しくログインします(正しいユーザー名とパスワード)、ただしログインCookieはブラウザから返送されないため、ログインは「固定」されません。

また、Pierreが$ base_urlについて言ったことを強化するために、これが正しく設定されていない場合、症状は非常に似ています。たとえば、localhost経由でサイトにログインする場合、ローカルWebサーバーが127.0.0.1を報告するのが一般的です。この場合も、ログインCookieは正しいドメインにアタッチされず、ログインできません。この場合、$ base_urlをlocalhostに設定するのが適切です。私はこれをするのが好きです:

$base_url = str_replace('127.0.0.1', 'localhost', $base_url);

このようにして、$ base_urlのポートは、drush runserverを介してサイトを実行するときに使用するものと一致します。

2
greg_1_anderson

私の答えは単純すぎるように聞こえるかもしれませんが、私は新規インストール後に同様の問題を抱えていました。役に立ったのは、FirefoxですべてのCookieを削除することでした。その後、ログインできました。

1
hennadiy.verkh