サーバーの移行後、ホームページのみが機能します


33

最近、WordPressサイトのホスティングをVPS.netに変更しました。すべてのファイルを移動し、データベースをインポートしました。リンクをクリックして、ホームページを除くすべてのページが404を表示していることに気付くまで、すべてが正常に見えました。

サイトのURLはhttp://inksquared.comです


回答:


42

私はあなたがhttp:// yoursitehttp:// yoursite / anythingになると思います

同様の問題があり、変更すると解決しました

httpd.confから

AllowOverride None

AllowOverride All

私の理解によると、それは.htaccess効果を発揮します。


6
これは私のために働いた。ほとんどの人はこれを忘れています。
カシムジー14

1
これも私にとってはapache2.conf/var/www
うまくいき

1
これは私の答えの一部でした。AllowOverride Allサイト構成に追加しましたが、を追加しましたOptions FollowSymLinks。その後、カスタムパーマリンクを使用することができました。これにより、適切なルート.htaccessファイルも作成されました。その後、すべてが機能しました。
boot13

1
そして、Apacheを再起動することを忘れないでください!「sudo service apache2 restart」
-gradosevic

1
出来た。confファイルの場所でAllowOverrideオプションを必ず変更してください。
ナジーブ

44

mod_rewriteルールをフラッシュしてみてください:

ダッシュボード->設定->パーマリンク

設定を保存します(変更する必要はありません)


7
実際に保存する必要もありません。ルールはそのページにアクセスするだけでフラッシュされ、ルールのフラッシュの一部には.htaccessへの書き込みが含まれます。
ジョンPブロッホ

私は毎日新しいことを学びます... :)
チップベネット

@johnは、必要な場合にページ読み込みだけで.htaccessへの書き込みを行うと確信していますか?データベース内のrewrite_rulesのみがフラッシュされるという印象を受けました。
アシュフェイム

WP-adminの/オプション-permalinks.php呼び出しflush_rewrite_rules()、ラッパーWP_Rewrite::flush_rules()場合、$hardであるtrue(そのページに呼び出されたときにそれがある)と、関数がsave_mod_rewrite_rules存在する(で定義されているwp-admin/includes/misc.phpすべての管理ページに含まれ、)、それが呼び出されますsave_mod_rewrite_rules()。ここでは、その関数の定義を参照してください:core.trac.wordpress.org/browser/trunk/wp-admin/includes/...
ジョン・P・ブロッホ

実際には、.htaccessファイルに書き換えルールを書き込む関数が呼び出されたinsert_with_markers(に使用されるsave_mod_rewrite_rules()ここで定義され、上記):core.trac.wordpress.org/browser/trunk/wp-admin/includes/...
ジョン・P・ブロッホ

27

私は同じ問題に直面していました。

Ubuntu Serverで解決するために次のことを行いました。

  1. では/etc/apache2/apache2.conf、編集AllowOverrideのなしのための/ var / www /のAllowOverrideのすべて

  2. 次のコマンドを入力して、.htaccessのmod_rewriteを有効にします

sudo a2enmodの書き換え

  1. Apacheサーバーを再起動します。

sudo service apache2 restart

問題は解決しました!!!


おかげで、私は他の提案のいずれかでこれを修正することができませんでしたa2enmod rewriteが、トリックをしました。
マーティンマッカリオン

+1書き換えmodに言及するため。これがデフォルトで有効になっていないことに気づきませんでした。
ネイティブコーダー

sudo a2enmod rewriteこの心配をするために間違いなくそれが必要でした、ありがとう!
Huskie69

1
ありがとう!コマンドa2enmod rewriteは私のためにトリックをしました。
ルーカスバスケロット

アビナッシュありがとう!ルーカスと同じように、a2enmodの書き直しが私にとってのトリックでした
Dungog

1

その理由は、.htaccessファイルがコピーされなかった可能性が最も高いです。Mac OS Xおよび一部のFTPアプリケーションでは、このファイルはで始まるため、「隠しファイル」と見なされます.。管理セクションの[設定]-> [パーマリンク]セクションに移動すると、このファイルを再生成できますが、以前のバージョンを見つけて再度使用することをお勧めします(特にキャッシュプラグインを使用する場合)。


1

Ubuntu 14.04では、000-default.confファイルはこちらにあります/etc/apache2/sites-available

または、複数のwpを実行する場合、仮想ホスト設定は構成ファイル名になります。例:domain.conf

あなたは交換する必要がAllowOverride NoneAllowOverride All

これがうまくいくことを願っています。


0

Webサーバー404またはWordPress 404を取得していますか?Webサーバー404の場合、古いインストールからルートhtaccessファイルをコピーしていないか、実行するための適切なアクセス許可がありません。

私の最初のトラブルシューティング項目は、htaccessファイルがルートに存在するかどうかを確認することです。もしそうなら、何が含まれているか。


.htaccessファイルを確認しました。これには、wordpress管理パネルのパーマリンクセクションに表示されたものと同じコードが含まれています。権限を書き込み可能に変更しましたが、明らかな変更はありません。
-mikeyrocks

3
@mikeyrocksうーん...別の可能性は、新しいサーバーでmod_rewriteが有効になっていないことです。重要:サーバー404(「見つかりません」と表示される白いページ)またはWordPress 404(サイトの他の部分と同じスタイル)を取得していますか?
MathSmath
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.