0

これらの2つの.htaccessファイルを1つに結合することは可能ですか?彼らは完全に別々のきれいなURL処理を持っている2つの別々のPHPアプリを扱います。私が試してみたい理由は、mod_securityがエラーをスローし、ここのチェーン内の2番目の.htaccessファイルを完全に無視しているためですが、1つの.htaccessファイルには問題がないようです。

したがって、/ blahに移動すると、最初のアプリがかなりのURL処理を処理します。しかし、/ members / blahに移動すると、2番目のアプリがかなりのURL処理を処理します。ただし、実際のファイルまたはディレクトリのパスをチェックして通過を許可する-fおよび-dパラメータに注意してください。

ルートで:

RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteRule ^members$ /members/ [QSA,L]
RewriteRule ^members/(.*)$ /memberapp/$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

/ memberapp:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /memberapp/index.php [QSA]

編集1:

したがって、マッピングの例は次のとおりです。

domain.com = domain.com/index.php
domain.com/ = domain.com/index.php
domain.com/?test=test = domain.com/index.php
domain.com/members/test.png = domain.com/memberapp/test.png (file exists)
domain.com/members/dir1 = domain.com/memberapp/dir1 (directory exists)
domain.com/members/dir1/ = domain.com/memberapp/dir1 (ditto)
domain.com/test = domain.com/index.php
domain.com/members/login = domain.com/memberapp/index.php
domain.com/members/test.php = domain.com/memberapp/test.php (file exists)
domain.com/dir1 = domain.com/dir1 (directory exists)
domain.com/dir1/ = domain.com/dir1 (directory exists)
domain.com/test.png = domain.com/test.png (file exists)
domain.com/members/login?test=test = domain.com/memberapp/index.php
4

1 に答える 1

1
RewriteEngine On

RewriteRule ^index\.php$ - [L]
RewriteRule ^members$ /members/ [R=302,L]
RewriteRule ^members/(.*)$ /memberapp/$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^membersapp/ /memberapp/index.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
于 2012-12-30T21:39:52.713 に答える