7

この問題についてSOに関する他の投稿を見たことがありますが、提案された解決策はどれもうまくいかなかったので、再投稿します。

パーマリンク構造をに変更した後、どの/%postname%/リンクも機能していません。私は次の404を取得します:

Not Found

The requested URL /my-post-name/ was not found on this server.

Apache/2.2.20 (Ubuntu) Server at mysite.com Port 80

パーマリンク構造に戻ると、再び機能し始めますが、とにかく構造defaultが欲しいです。/%postname%/

.htaccessのファイルchmodは777です。

/%postname%/パーマリンク構造をに更新した後.htaccess、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

何かご意見は?

編集:

パーマリンクの構造を次のように変更しようとしました。

/index.php/%postname%/

そしてそれはうまくいきました。ただし、問題は、当然のことながら、リンクが次の形式になっていることです。

www.mysite.com/index.php/my-page.com

index.php私の質問は、リンクからどのように削除できるかです。パーマリンク構造(つまり/%postname%/)から削除すると、リンクが機能しなくなります。

PS:ブログエントリを使用する代わりに、自分のサイトのページのみを使用しています。必要な場合、私のサイトはmll.sehir.edu.trです。

4

5 に答える 5

12

問題の根本を知っていれば、この問題を解決する方法はたくさんあります。

問題1

まず、Apache に mod_rewrite.c モジュールがインストールされていない、または有効になっていないことが問題である可能性があります。

このため、次のように有効にする必要があります

コンソールを開き、次のように入力します。

sudo a2enmod rewrite

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

service apache2 restart

問題 2

上記に加えて、うまくいかない場合は、Apache conf ファイル (、、またはファイル) からオーバーライド ルールを変更する必要がapache2.confありhttp.confます000-default

見つけるDirectory /var/www/

Override Noneをに変更Override All

問題 3

rewrite モジュールが見つからないというエラーが表示された場合は、おそらく userdir モジュールが有効になっていません。このため、有効にする必要があります。

これをコンソールに入力します。

sudo a2enmod userdir

次に、書き換えモジュールがまだ有効になっていない場合は有効にしてみてください (前述のとおり)。

これについてさらに読むには、次のサイトにアクセスしてください。

于 2014-02-09T12:07:47.493 に答える
4

サーバー上のシンボリックリンクに問題があるようです。.htaccess でこれを試してください。また、変更後に 644 に変更してください:

Options +FollowSymlinks
RewriteEngine on

# 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
于 2012-10-21T20:01:29.233 に答える
1

同じ問題が発生しましたが、他のURL構造を使用しています/%category%/%postname%/

de 404エラーの問題は、特定の構造を設定した場合でも、wordpressは常にURLに「category」という単語を含むURLを作成しようとするためです。

次のようにURLを入力してみてください:yoursite.com/category/postname、エラーが発生しない場合は、エラーの解決に近づいているためです。次に、このワードプレスプラグインhttp://wordpress.org/extend/plugins/no-category-base-wpml/をインストールして、URLから「カテゴリ」ベースを削除してみてください

進捗状況を教えてください

于 2012-10-18T11:53:50.480 に答える
0

.htaccessを次のように置き換えて試してください。

オプション+FollowSymlinks

RewriteEngineオン

RewriteCond%{HTTP_HOST} ^ hostname.com $

RewriteRule ^(。*)$ http://www.hostname.com/ $ 1 [R = permanent、L]

于 2012-10-22T09:07:42.123 に答える
0

mod_rewrite: "Pretty Permalinks" へのサイトのパーマリンクを有効にしようとするたびに、この問題が発生します。私のサイトは AWS EC2 上の 1 つのインスタンスです。

404 Errors 

Page Not Found
The requested URL .... was not found on this server.
Apache/2.4.7 (Ubuntu) Server at mydomain.com Port 80

上記の方法をすべて試しましたが、修正されませんでした。

最後に、/etc/apache2/sites-available/wordpress.conf を確認したところ、AWS によって各インスタンスに割り当てられたパブリック IP アドレスを使用していることがわかりました。現在の mydomain.com に変更すると、機能します。

場合によっては、wordpress.conf が httpd (Web サーバー) によってロックされることがあります。編集後に停止して開始する必要があります。wordpress.conf を再度リロードできるように、sudo service apache2 stop/start も使用する必要があります。

私の経験が他の人に役立つことを願っています。

于 2014-07-23T14:49:45.950 に答える