1

example.com/post-name などのクリーンな URL を表示するために .htaccess ファイルを既に使用している wordpress サイトがあります。

通常、wordpress の .htaccess ファイルには、これを行うための次のコードが含まれています。

# 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

私の問題は、URL を介して渡したい変数に基づいて、条件ステートメントを含む特別なページがあることです。この URL をブラウザに入力すると実際に機能し、正しく機能します: http://example.com/dir/?var=var-value

私がやりたいことは、新しいリダイレクト ルールを追加して URL をhttp://example.com/dir/var-valueのようにすることで、この URL をクリーンにすることです。ファイルに追加したものは以下のとおりです。

RewriteRule ^dir/([^/]*)$ /dir/?var=$1 [L]

特に .htaccess ファイルの正規表現をよく理解していないため、これを理解できませんでした。このリダイレクトを追加してから適切な URL を入力すると、ページが見つからないというエラーが発生します。既にルールをファイル内の別の場所に移動しようとしましたが、同じ結果が得られました。

追加情報として、「dir」はワードプレス管理者によって作成された実際のページです。ここで競合が発生していると思います。私は役立つかもしれないワードプレスでこのページを見つけましたhttp://codex.wordpress.org/Rewrite_API/add_rewrite_ruleしかし、私はそれを機能させることができません。私のカスタム テンプレート ファイル。

私が作成したジェネシスフレームワークの子テーマを使用しています。

4

1 に答える 1

0

リンクされたドキュメントに従って、これを試すことができます:

add_rewrite_rule('^dir/([^/]+)/?','dir?var=$matches[1]','top');
于 2013-11-12T21:31:32.197 に答える