0

これが私のフォルダ構造です:

  • ウェブサイト.com
    • 主要
      • サブ1
      • サブ2

sub1URL を介してwebsite.com/sub1サブフォルダーにアクセスできるようにしたいと考えて.htaccesswebsite/ます。

RewriteCond %{REQUEST_URI} /sub1/(.*)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)$ main/sub1/index.php?view=$1 [QSA,L]

私の問題は、index.phpはアクセスされますが、.jsおよび.cssファイルであっても常にアクセスされることです。そのため、以前に次のルールを追加しようとしました (ただし、!-f以前は条件によってファイルを除外していました)。

RewriteCond %{REQUEST_URI} /sub1/(.*)$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ main/sub1/$1 [L,QSA]

しかし、ご想像のとおり、もう一方のブロックを削除しても、実際のファイルがその 2 番目のブロックに移動することはありません。

4

1 に答える 1

0

試す:

RewriteCond %{REQUEST_URI} ^/sub1/(.*)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/main/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /main/$1 [L]

次に、古いルール:

RewriteCond %{REQUEST_URI} /sub1/(.*)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)$ main/sub1/index.php?view=$1 [QSA,L]
于 2013-05-09T18:43:19.067 に答える