69

私のワードプレスのウェブサイトのホームページは正しく表示されているようですが、他のページのいずれかをクリックすると、次のエラーメッセージが表示されます。

Not Found

The requested URL /about was not found on this server.

Apache/2 Server at www.wildlionmedia.co.uk Port 80

テーマに問題があるのか​​、正しく書き換えられていない.htaccessファイルに問題があるのか​​わかりません。

http://www.wildlionmedia.co.uk/

問題を解決する方法はありますか?

# Switch rewrite engine off in case this was installed under HostPay.
RewriteEngine On

SetEnv DEFAULT_PHP_VERSION 53

DirectoryIndex index.cgi index.php

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine Off
RewriteBase /wildlionmedia.co.uk/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wildlionmedia.co.uk/index.php [L]
</IfModule>

# END WordPress
4

20 に答える 20

88

上記のすべてが機能しない場合。次に、これを試してください。私はそれを試してみました。それは私のために働いています。

  1. /etc/httpd/conf/httpd.confに移動します。
  2. AllowOverrideNoneAllowOverrideAllに変更します。
  3. Apacheサーバーを再起動します。

2017年の更新

新しいバージョンのapacheの場合、ファイルはapache2.confと呼ばれます。

したがって、ファイルにアクセスするには、sudo nano /etc/apache2/apache2.confと入力し、ブロック内の対応する行を変更します<Directory /var/www >

于 2017-04-21T05:37:58.257 に答える
66

これは典型的なWordpressの書き換えブロックではありません。これは:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

http://codex.wordpress.org/Using_Permalinks#Where.27s_my_.htaccess_file.3Fを参照してください

.htaccessファイルはどこにありますか?WordPressのindex.phpファイルと.htaccessファイルは、[一般オプション]ページの[サイトアドレス(URL)]設定で示されるディレクトリに一緒に配置する必要があります。ファイルの名前はドットで始まるため、隠しファイルを含むすべてのファイルを表示するようにFTPツールの設定を変更しない限り、FTPクライアントからファイルが表示されない場合があります。一部のホスト(Godaddyなど)では、Godaddy Hosting Connectionのインストールを介してWordPressをインストールした場合、.htaccessを表示または編集できない場合があります。

作成と編集(.htaccess).htaccessファイルがまだない場合は、作成します。サーバーへのシェルまたはsshアクセスがある場合は、.htaccessコマンドをタッチするだけでファイルが作成されます。FTPを使用してファイルを転送している場合は、ローカルコンピューターにファイルを作成し、1.htaccessと呼び、WordPressフォルダーのルートにアップロードしてから、名前を.htaccessに変更します。

.htaccessファイルは、FTP、シェル、または(場合によっては)ホストのコントロールパネルで編集できます。

これを行う最も簡単で最速の方法は、ダッシュボード>>設定>>パーマリンクでパーマリンクをリセットし、WordPressがルール自体を記述できるように.htaccessが書き込み可能であることを確認します。

index.cgiそして:あなたはあなたがあなたがあなたがあなたのデフォルトの文書としてではなく呼び出していることに気づいていますindex.phpか?それは間違っている。を削除しindex.cgiます。または、サーバーでデフォルトのドキュメントを定義する必要がない場合があるため、行全体を削除してみてください。

于 2012-10-31T01:02:20.480 に答える
17

それはこのように私のために働いた:

Wordpress管理ダッシュボード>「設定」>「パーマリンク」>「共通設定」に移動し、ラジオボタンを「カスタム構造」に設定してテキストボックスに貼り付けます。

/index.php/%year%/%monthnum%/%day%/%postname%/

[保存]ボタンをクリックします。

私はこのリンクからこの解決策を得ました

于 2017-07-27T10:11:08.693 に答える
13

FWIW:LAMPサーバーを最初から再構築し、WordPressをインストールしました。.htaccessファイルを生成するためにパーマリンク設定を保存した後も同じ問題が発生しました。mod_rewriteが有効になっていないことがわかりました。DigitalOceanでこの投稿に出くわしました。
FTA:

まず、mod_rewriteをアクティブにする必要があります。利用可能ですが、Apache2のクリーンインストールでは有効になりません。

$ sudo a2enmod rewrite

これにより、モジュールがアクティブ化されるか、モジュールがすでに有効になっていることを警告します。これらの変更を有効にするには、Apacheを再起動します。

$ sudo systemctl restart apache2
于 2019-09-21T13:45:16.437 に答える
12

以前の.htaccessファイルを削除し、[設定]->[パーマリンク]の[保存]ボタンをクリックして新しいファイルを作成しました

そして今、そのページは正常に機能し始めました...

于 2017-04-01T10:36:01.707 に答える
8

Wordpressのウェブサイトには信頼できる答えがあります:

.htaccessファイルはどこにありますか?

WordPressのindex.phpファイルと.htaccessファイルは、[一般オプション]ページの[サイトアドレス(URL)]設定で示されるディレクトリに一緒に配置する必要があります。ファイルの名前はドットで始まるため、隠しファイルを含むすべてのファイルを表示するようにFTPツールの設定を変更しない限り、FTPクライアントからファイルが表示されない場合があります。一部のホスト(Godaddyなど)では、Godaddy Hosting Connectionのインストールを介してWordPressをインストールした場合、.htaccessを表示または編集できない場合があります。

作成と編集(.htaccess)

.htaccessファイルがまだない場合は、作成します。サーバーへのシェルまたはsshアクセスがある場合は、.htaccessコマンドをタッチするだけでファイルが作成されます。FTPを使用してファイルを転送している場合は、ローカルコンピューターにファイルを作成し、1.htaccessと呼び、WordPressフォルダーのルートにアップロードしてから、名前を.htaccessに変更します。

.htaccessファイルは、FTP、シェル、または(場合によっては)ホストのコントロールパネルで編集できます。

次のパーマリンク書き換えコードを.htaccessファイルに含める必要があります(WordPress 3.0以降)。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

*ここから取得。

于 2013-08-19T20:47:55.897 に答える
8

それはこのように私のために働いた:

Wordpress管理ダッシュボード>「設定」>「パーマリンク」>「共通設定」に移動し、ラジオボタンを「カスタム構造」に設定してテキストボックスに貼り付けます。

/index.php/%year%/%monthnum%/%day%/%postname%/

[保存]ボタンをクリックします。

于 2017-08-28T19:59:20.373 に答える
7

私は非常に簡単な解決策を見つけました。

  1. パーマリンク 設定に移動
  2. URLにプレーンを使用
  3. 保存ボタンを押す

これで、WordPressのすべてのページのURLが完全に機能するはずです。

URLを以前の設定に戻すことができ、WordPressはURLを正しく再生成します。私の場合は投稿名を選択しましたが、問題なく動作します。

于 2020-07-16T16:12:07.273 に答える
6

選択した回答では、この問題は解決しませんでした。それで、まだこれに頭を悩ませている人のために、私は別の解決策を見つけました!

私のApache設定httpd.conf(コンソールで実行するとconfファイルを見つけることができますapachectl -V)で、次のモジュールを有効にしました。

LoadModule rewrite_module modules/mod_rewrite.so

そして今、サイトは期待通りに機能しています。

于 2017-04-20T13:53:51.723 に答える
6

ひえ、

遅いですが、ここで同様の問題に苦しんでいる人がいる場合は、仮想ホストファイルまたはWPサイトをホストしている場所を変更してパーマリンクを許可するためにできることです。

したがって、基本的にすべてが正常に機能します。投稿するパーマリンクを設定すると、URLが突然消えます。あなたは多くのディスカッションフォーラムに行きました(私のように)多くの変更を試みて、「サーバー403へのアクセス許可」エラーまたはURLが見つかりませんエラーを受け取りました。あなたがしなければならないのは、ホストファイルに行くことです。たとえば、デフォルトの仮想ホストまたはサイト内の構成ファイルを使用している場合は、000-default.confが有効になっています。

ディレクトリセクションで使用:

<Directory "path/to/dir">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

次の内部ディレクトリは使用しないでください

Order allow,deny
Allow from all

OrderおよびAllowディレクティブは、Apache2.4で非推奨になりまし

同様に、/ etc / apache2 / apache2.confでディレクトリを設定し、パスのディレクトリを設定し、上記を使用しないでください。これにより、パーミッション403エラーが発生します。

それに加えて、apacheに対してmod_rewriteを有効にする必要があります

于 2018-05-10T14:20:18.493 に答える
3

この問題の解決策は、.htaccessファイルの再生成ではほとんどコーディングされていません。実際、サイトが新しいサーバーに移行された場合、ほとんどの人にとっては特に機能しませんでした。

いくつかの基本に飛び込みましょう。

私たちのほとんどにとって、WordPress環境はPHPサーバーAPACHEで実行されており、このサーバーが環境の初期依存関係のほとんどを制御していると仮定しましょう。一方、.htaccessの生成も主にApacheの構成に依存しています。

したがって、そうは言っても、.htaccess作成の競合の原因は、主に、WordPressWebサイトが古いバージョンのApacheおよびPHPでWordPress環境を実行しているサーバーから新しいバージョンのPHPおよびApacheに移行されるときに発生します。

nrwerバージョンと古いバージョンの依存関係が異なるため、新しいバージョンのApache2では、デフォルトで.htaccessディレクティブが.htaccessファイルを作成することはできません。そのため、WordPressWebサイトのルートディレクトリのアクセス許可を「AllowOverrideNone」から「AllowOverrideAll」に手動で設定する必要があります。

比較すると、AllowOverrideディレクティブは、Webサーバー内で.htaccessを使用して、ディレクトリごとにApache構成をオーバーライドできるようにするために使用されます。

次の修正を使用して、apache2.confディレクトリのアクセス許可設定を変更します。

GCPWordPressエラーの処理方法「このページは機能していませんexample.comは現在このリクエストを処理できません。HTTPエラー500

于 2019-09-23T23:47:23.490 に答える
2

これはWordpressの別のバージョンですが、元のバージョンは意図したとおりに機能しませんでした。

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^index\.php$ - [END]
    RewriteCond $1 ^(index\.php)?$ [OR]
    RewriteCond $1 \.(gif|jpg|png|ico|css|js)$ [NC,OR]
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.*)$ - [END]
    RewriteRule ^ /index.php [L]
</IfModule>
# END WordPress

このGithubリポジトリからの参照は、少し変更されています。過度のテストの後、このルールはすべての問題を解決するわけではありません。40個のプラグインがあるWordpressWebショップがあり、どこかに書き換えの衝突があります。Wordpressの次のバージョンにURLの書き換えがないことを心から願っています。


RewriteRule ^index\.php$ - [L]

構文書き換えルール

文字列の^開始を意味し、\エスケープする.か、任意の文字を$意味し、文字列の終了を意味します。

^index\.php$http(s):// hostname / index.php -が何もしない[END]場合、フラグを使用して、現在の書き換え処理を終了するだけでなく、後続の書き換え処理を防ぐことができます。


RewriteCond $1 ^(index\.php)?$ [OR]

構文書き換え条件

RewriteCondテスト文字列として使用する場合、 URL http(s):// hostname / bla/bla.php$1の最初から最後まですべてのキャプチャされたコンテンツへの参照。置換または条件で使用される場合、キャプチャされた後方参照を参照します。http(s):// hostname / bla / ble.phpは、にキャプチャします。を介して複数のキャプチャグループにアクセスできます。RewriteRule (bla)/(ble\.php)$ -bla$1ble.php$2$3..N

( )複数の文字を1つのユニットにグループ化し、?強制的に一致させます。 [OR]フラグを使用すると、デフォルトのANDではなく、書き換え条件を論理OR関係と組み合わせることができます。

つまり、bla/bla.phpにindex.phpまたは次の条件が含まれている場合


RewriteCond $1 \.(gif|jpg|png|ico|css|js)$ [NC,OR]

( )複数の文字を1つのユニットにグループ化し、|文字をサブグループに分け、いずれか1つがある場合はそれらを条件付けます。 [NC]フラグを指定すると、大文字と小文字を区別しない方法でRewriteRuleが一致します。

つまり、bla/bla.phpがいずれかのファイルタイプまたは次の条件で終了する場合


RewriteCond %{REQUEST_FILENAME} -f [OR]

サーバー変数は、%{NAME_OF_VARIABLE}の形式の変数です。ここで、NAME_OF_VARIABLEは、次のリストから取得した文字列です。

ここに画像の説明を入力してください

%{REQUEST_FILENAME}REQUEST_FILENAMEが参照されたときにサーバーによってすでに決定されている場合は、要求に一致するファイルまたはスクリプトへの完全なローカルファイルシステムパスです。それ以外の場合、仮想ホストコンテキストで使用する場合など、REQUEST_URIと同じ値。AcceptPathInfoの値によっては、サーバーがREQUEST_URIの一部の主要コンポーネントのみを使用して、要求をファイルにマップした場合があります。

-f通常のファイルを確認してください。テスト文字列をパス名として扱い、存在するかどうかをテストします。

つまり、bla/bla.phpがファイルまたは次の条件である場合


RewriteCond %{REQUEST_FILENAME} -d

-dディレクトリを確認してください。テスト文字列をパス名として扱い、存在するかどうかをテストします。

つまり、bla/bla.phpがディレクトリの場合


RewriteRule ^(.*)$ - [END] not as in Github [S=1]

このステートメントは、条件の1つがtrueを返した場合にのみ実行されます。

.任意の文字*に0回以上一致します。

フラグは、[S]実行したくないルールをスキップするために使用されます。スキップフラグの構文はです[S=N]。ここで、スキップNするルールの数を示します(RewriteRuleが一致する場合)。これは、書き換えルールセットのgotoステートメントと考えることができます。次の例では、要求されたURIが実際のファイルに対応していない場合にのみRewriteRuleを実行します。

要するに、何もしない


RewriteRule ^ /index.php [L]

この[L]フラグにより​​、mod_rewriteはルールセットの処理を停止します。ほとんどの場合、これは、ルールが一致した場合、それ以上のルールは処理されないことを意味します。これは、Perlの最後のコマンドまたはCのbreakコマンドに対応します。このフラグを使用して、現在のルールをそれ以上のルールを考慮せずにすぐに適用する必要があることを示します。

つまり、すべてのパスをhttp(s):// hostname/ index.phpとして書き直します。


この小さなドキュメントをapaches.orgのドキュメントから一緒に取得しました。以下のリンク。

于 2018-09-12T01:39:03.850 に答える
1

設定で>パーマリンクワードプレスはシンプルに設定し、もう一度テストします。

于 2019-01-21T06:35:53.177 に答える
0

同じ問題が発生しました。私のホームページにはアクセスできますが、サーバーに記事が見つかりません。

に移動しcpanel file manager > public_htmlて削除し.htaccessます。

次に、WordPressのパーマリンク設定に移動し、パーマリンクを任意に設定して保存します。ビオラすべてが正常に戻ります。

この問題は、WordPressを更新した後に発生しました。

于 2017-06-22T03:45:55.147 に答える
0

**解決されたパーマリンクの問題Wordpress**1)Wordpressダッシュボードにログインし、[設定]> [premalinks]をクリックして、投稿名を選択します。2)その後、ホスティングサーバーにログインして.htaccessファイルに移動し、コードを置き換えます。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
于 2017-10-02T12:50:12.873 に答える
0

APACHE設定でmode_rewriteが有効になっていることを確認してください。こちらのリンクを参照して くださいhttps://github.com/h5bp/server-configs-apache/wiki/How-to-enable-Apache-modules

次に、正しい.htaccesshttps://wordpress.org/support/topic/404-errors-with-permalinks-set-to-postname/があることを確認し ます

そして、いずれかのApache設定で仮想ホスト設定を修正します 。AllowOverrideallを設定する方法

于 2017-10-16T05:51:55.617 に答える
0

私はMacOSに取り組んでいますが、次の操作で問題が解決しました。

コピー元: https ://akrabat.com/setting-up-php-mysql-on-os-x-10-7-lion/

cd / etc / apache2

rootへの設定ファイルの書き込み権限を付与します:sudo chmod u + w httpd.conf sudo vim httpd.conf

#LoadModule php5_module libexec / apache2/libphp5.soを見つけます

先頭の#を削除します

#LoadModule rewrite_module libexec / apache2/mod_rewrite.soを見つけます

先頭の#を削除します

セクション内でAllowOverrideNoneを見つけ、AllowOverride Allに変更して、.htaccessファイルが機能するようにします。

権限を元に戻します:sudo chmod uw httpd.conf

ターミナルで次のコマンドを実行して、Apacheを再起動します。

sudo apachectl restart

于 2019-10-28T16:00:34.003 に答える
0

http://jafty.com/blog/enable-mod_rewrite-on-apache-ec2-linux-server/を使用して、PHP 5.6(4.9.13から)にアップグレードした後、http(Apache)も更新することを確認しました。 /etc/httpd/conf/httpd.confファイルを編集する必要があります。引用します...

基本的に、AllowOverrideにAll insted of Noneを追加します。メインディレクトリ構成を編集するのではなく、次のような構成を編集します。

<Directory “/var/www/html”&gt;

いいえ:

<Directory />

次に、次のコマンドでApacheを再起動します。

sudo service httpd restart

注-疲れたときに別のディレクトリ要素を変更しましたが、違いはありませんでした。/var/www/htmlに対して必ず変更してください。

この記事では、mod-rewriteが有効になっていることを確認する方法についても説明しています。

于 2020-06-10T22:34:42.047 に答える
0

/etc/apache2/users/my-username.confMacOS Catalinaマシンで、デフォルトの場所に追加のファイルが作成されていることを発見しました

AllowOverride none

それを変更して、All最終的に私のために物事が機能するようになりました。Macの課題は、Finderでこれらのディレクトリにアクセスするのが難しいため、このファイルを見つけないようにするのが簡単なことです。

于 2020-07-16T08:49:13.753 に答える
-1

.htaccessのみを変更します。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
于 2017-09-27T03:50:11.217 に答える