annmusic
メンバー
2 years前の投稿 #
Googleで検索し、下記サイトを参考にさせて頂いたのですが、解決できませんでした。
質問させて下さい。
■現象
パーマリンク設定を
http://ドメイン/%category%/%post_id%.html
のように変更したいのですが、
http://ドメイン/%category%/
にアクセスしても403エラーとなってしまう。
http://ドメイン/category/%category%/
は表示されますが、このデフォルトで挿入される"category"を表示させないようにしたいです。
■環境
- WordPress 2.8.4
- ファーストサーバ ギガント2
- PHP 5.2.8(DSO版にて動作中)
- Apache_1.3.37
■.htaccessの設定内容
php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8"
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
■階層構造
/www/
├ .htaccess
├ index.php
└ /wordpress/
.htaccessのRewriteBaseとRewriteRuleの指定が間違っているのでしょうか?
是非ご示唆ください。
宜しくお願いいたします。
以下、参考にさせて頂いただサイトです。
wordpressのインストールフォルダと実行場所を変更しているなら
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
こうじゃないですか?
annmusic
メンバー
2 years前の投稿 #
>LVP8さん
早速のお返事ありがとうございます。
- Top Level Categories
- Top Level Categories Fix
は、実はどちらも試してみましたのですが、うまく動作しませんでした。
最初の投稿に記載すべきでした。すみません。
ファーストサーバはmod_rewriteが出来ない設定になっているようで、そこに問題がありそうです。
>shokun0803さん
お返事ありがとうございます。
そうなんです。
wordpressのインストールフォルダと実行場所、変更しています。
/www/
├ .htaccess
├ index.php
└ /wordpress/
とし、
/www/wordpress/
内にあったindex.phpを
/www/
直下に移動させています。
ご指摘頂いたようにRewriteBase,RewriteRuleを変更してみました。
以下のような動作でした。
表示に問題無し
500 Internal Server Error
403 Forbidden
プラグイン、
- Top Level Categories
- Top Level Categories Fix
の使用/停止を切り替えても同じ結果でした。
500 Internal Server Errorが出る場合はhtaccessの記述を間違えている可能性が高いです。改行や全角の空白などないか、もしくは文字コードの間違いがないか確認してみてください。
ちなみに、当方もファーストサーバですが、
RewriteBase /wordpress/
でも
RewriteBase /virtual/www/wordpress
でもリンク先にあるようなindex.phpが表示からなくなることはありませんでした。他のサーバ(チカッパ)では確かにindex.phpはありませんね。
つまりファーストサーバではmod_rewriteが有効ではないのか?というと、この記述がないとそもそもパーマリンクが働きませんので、そういうわけでもなさそうです。
さて、どういうことでしょう・・・ファーストサーバの検証が必要ですねぇ。
annmusic
メンバー
2 years前の投稿 #
なるほど、ファーストサーバでmod_rewriteが有効でない訳ではないのですね。
htaccessの記述とmod_rewriteについて、もう少し調べてみます。