web-dev-qa-db-ja.com

カスタムパーマリンクと.htaccessファイルを使用しないでWordPressをセットアップしますか?

私は.htaccessファイルを無効にすることを強く望んでいるクライアントを持っています。なぜなら彼らはApacheの設定を自分で設定したいからです。しかし、彼らはまだSEOにやさしいURLを望んでいます。

.htaccessファイルがないカスタムパーマリンクを作成する方法はありますか?これまでのところ私の研究ではこれが不可能であることを示しているように思えますが、おそらく素晴らしい開発者の一人はどうやって不可能に見えることができるかを知っています。前もって感謝します!

7
Mike Lee

mod_rewriteなしのパーマリンク

.htaccessファイルを使わずに、またはあなたのhttpd.confファイルを修正しないであなたができる最善のことはpathinfoパーマリンクです。 Pathinfoのパーマリンクは、index.phpで始まる点を除けば、かなりのパーマリンクと同じです。

Pathinfoパーマリンクを使用するには、カスタムパーマリンク構造の先頭にindex.php /を置きます。

/index.php/%postname%/

詳しくは Codexの記事 をご覧ください。

2
Chris_O

古き良き時代に戻ると、WordPressはパーマリンク構造を変更するたびに新しい設定ファイルを書く必要がありました。最近の設定では、RewriteRulesは変わりません。

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

存在しないファイル(つまり、ファイルシステム上のファイルと一致しないカスタムパーマリンクパス)に対するすべてのリクエストはindex.phpを通して渡され、$_SERVER['REQUEST_URI']はPHPに実際にリクエストされたものを伝えます。クライアントはhttpd.confまたは.htaccessで書き換えルールを設定できます。パーマリンク構造を微調整するときに書き換える必要はありません。

プラグインの中には、.htaccess自体を変更しようとしたり、ファイルの変更を要求したりするものがあります。この解決策は誰にとっても良いわけではありませんが、検討する価値があります。

0