0

URLを/meetingsに書き換えるのに適したルールがありますが、サブディレクトリからアクセスしたときにURLが正しく書き換えられません。

編集:私の.htaccessファイルはサブディレクトリ/blogにあります

このルールを使用する場合:...

RewriteRule ^meetings$ /?page_id=2809 [L]

サブドメイン(blog.example.com/meetings)からアクセスした場合:blog.example.com/meetings

サブディレクトリ(example.com/blog/meetings)からアクセスした場合:404エラー

このルールを使用する場合:...

RewriteRule ^meetings$ http://blog.example.com/?page_id=2809 [L]

サブドメイン(blog.example.com/meetings)からアクセスした場合:blog.example.com/meetings

サブディレクトリ(example.com/blog/meetings)からアクセスした場合:blog.example.com/?page_id=2809

サブドメインとサブディレクトリに対してルールを一貫して機能させる方法はありますか?

4

1 に答える 1

2

/blogこれは、ディレクトリ内の1つの.htaccessファイルで試すことができます。

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /blog

RewriteCond %{HTTP_HOST}      blog\.example\.com               [NC]
RewriteCond %{QUERY_STRING}   !page_id=                        [NC]
RewriteRule ^meetings         /?page_id=2809                   [L,NC]

RewriteCond %{HTTP_HOST}      ^(www\.)?example\.com            [NC]
RewriteCond %{QUERY_STRING}   !page_id=                        [NC]
RewriteRule ^meetings         /blog/?page_id=2809              [L,NC]

永続的なリダイレクトの場合は、[L、NC]を[R = 301、L、NC]に置き換えます。

于 2013-03-27T00:14:56.103 に答える