web-dev-qa-db-ja.com

サブディレクトリ/サブフォルダにWordPressをインストールすることによるパーマリンクの問題

私はWPをサブフォルダー/cmsにインストールしました、そしてそれはサブフォルダーなしでライブで動きます。パーマリンクとして/%postname%/を使用すると、私のサイトで404エラーが発生します。私のサーバーはmod_rewriteをサポートしていました。

私のコード

wp-config.php

define('WP_SITEURL', 'http://www.sitename.de/cms');
define('WP_HOME', 'http://www.sitename.de');

root

1).htaccess

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

2)index.php

<?php
define('WP_USE_THEMES', true);
require('./cms/wp-blog-header.php');
?>  

/ cms

1).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>

2)index.php

<?php
define('WP_USE_THEMES', true);
require('./wp-blog-header.php');
?>  

ご協力いただきありがとうございます
オグニ

3
ogni

私が一般的にしていること

  • サブディレクトリにWPをインストールします。
  • オープンパーマリンクセットにはパーマリンクが必要です。
  • 設定 - >一般リンクを開く
  • 「サイトアドレス(URL)」からサブディレクトリ名を削除します
  • サブディレクトリからindex.phpと.htaccessファイルを切り取り、それらをrootに貼り付けます。
  • index.phpのコードを変更します。
  • 再び設定にアクセス - > permalinkフォームを保存する

完了しました。サブディレクトリにindex.phpと.htaccessファイルは必要ありません。

3
Manish

/ cmsの下の.htaccessファイルを削除してから、「設定」 - >「パーマリンク」にアクセスして、書き換え規則をフラッシュしてください。また、サイトのURLとホームのURLがデータベースに正しく設定されていることを確認してください(wp-configにあるように)。

0
Rob Bennet

この問題に対する私の解決策は、私の場合は常にうまくいく。

サブディレクトリに.htaccessファイルを作成し、ページ下部のパーマリンクを変更したときに生成されるコードを追加します。

生成コードの例

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

私は同様の問題を抱えていて、問題はコード内にはなくhttpdファイル内にありました

  1. / etc/httpd/conf/httpd.confにあるApache設定ファイル(またはubuntuの場合はApache.conf)を開きます。
  2. 通常DocumentRootディレクトリディレクティブ内でAllowOverride NoneをAllowOverride Allに変更します。
0
Ashish