OCNのビジネス向けプラン(WEBスタンダード等)は、PHPは動作可能(mod_rewriteも可)であるのだが、CGI版で提供されているにもかかわらず、cgi.fix_pathinfoが有効化されていない。
そのため、パーマリンク設定でWordPressを運用すると、No input file specified.というエラーが出る。
これを回避するには、下記rewriteルールを.htaccess内で記述する。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php?pagename=/$1 [L]
RewriteRule ^(.+) - [PT]
上記で、ページがパーマリンク形式のアクセスで表示できるようになるが、このままでは通常の投稿が表示できない。(すべてページとして処理されるため)
通常の投稿を表示させるために、下記を追加する。
WordPress側で、パーマリンクを/%category%/%postname%/としておく。
インストールルートにcategoryというフォルダを作り、その中の.htaccessで下記を記述する。
RewriteEngine On
RewriteBase /category
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?category_name=$1 [L]
RewriteRule ^(.+) - [PT]
0 件のコメント:
コメントを投稿