4

複数のサブディレクトリをルート ディレクトリに書き換えようとしています。blog/という名前のフォルダーが 1 つあり、メイン サイト フォルダーと、ルートからアクセスしたい他のフォルダーを含むprojects/という別のサブディレクトリがあるという状況があります。

www/
    blog/
        work/
        contact/
    projects/
        projectA/
        projectB/

私が望むのは、たとえばexample.com/projectAまたはexample.com/projectBに移動して、ルート ディレクトリからwork/contact/projectA/、およびprojectB/にアクセスできるようにすることです。また、フォルダーが両方に存在する場合は、 blog/ディレクトリを優先してほしいと思います。

現在、私の htaccess にはこれがありますが、すべてをblog/に書き換えて、これを URL から削除しますが、 projects/フォルダーには影響しません。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !(.*)site
RewriteRule ^(.*)$ site/$1 
4

1 に答える 1

3

試す:

RewriteEngine on

# first check if request is in /blog/
RewriteCond %{DOCUMENT_ROOT}/blog%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/blog%{REQUEST_URI} -d
RewriteRule ^(.*)$ /blog/$1 [L]

# then check if request is in /projects/
RewriteCond %{DOCUMENT_ROOT}/projects%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/projects%{REQUEST_URI} -d
RewriteRule ^(.*)$ /projects/$1 [L]

# otherwise, blindly rewrite to blog (or do nothing by removing this rule to allow a 404 not found)
RewriteCond ${REQUEST_URI} !^/blog/
RewriteRule ^(.*)$ /blog/$1 [L]
于 2013-09-30T21:00:12.480 に答える