1

これが私がやろうとしていることです。

サイトで 2 つのアプリを実行しています。1 つはルート/で、もう 1 つはで実行しています/blog/

ブログ アプリによって提供されているが、URL に /blog/ の部分がないいくつかのページにアクセスできるようにしたいと考えています。このビットは、次のルールでなんとか実行できました。

RewriteRule my-page blog/index\.php?page_id=1 [L]

これにより、実際に でページを表示でき/blog/my-pageます/my-page

今私が苦労しているのは、重複する URL がないことを確認することです。そのため、短い URL にリダイレクトしようとしています。そのようです:

から:

/blog/my-page

に:

/my-page

から:

/blog/index.php?page_id=1

に:

/my-page

次のルールを使用すると、から/index.php?page_id=1にリダイレクトできます/my-page

RewriteCond %{QUERY_STRING} ^page_id=1$
RewriteRule index\.php$ my-page? [R=301,L]

このルールが発生した後、私が言及した最初のルールが適切な場所に移動します。

私の質問は:

blogURL の一部として機能させるにはどうすればよいですか。以下が機能することを期待していましたが、機能しません

#RewriteCond %{QUERY_STRING} ^page_id=1$
RewriteRule ^blog/index\.php$ my-page? [R=301,L]
4

1 に答える 1

2

これが機能しなかった理由は、.htaccessディレクトリ内にファイルがあったためです/blog/

これには、何でもキャッチして にルーティングするルールが含まれていましたblog/index.php

ルールを/blog/.htaccess適切に機能するように変更する

于 2013-07-24T20:16:33.670 に答える