0

状況

たとえば、すべてのトラフィックをルートの 1 レベル上の index.php ファイルにリダイレクトしようとしています。

lala.com/this/who/
lala.com/this/knew/it
lala.com/this/hello/
lala.com/this/would/be/so/annoying

これは、以下に定義されたルールを使用して機能します

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /this/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php? [L]
</IfModule>

問題

上記は問題なく動作しますが...

lala.com/this

lala.com に送り返されます。誰かがここで知恵の真珠を私に提供してくれませんか. 私の質問を読んでいただきありがとうございます

試み

私は次のことを試しました

RewriteCond %{REQUEST_URI} !^/this
RewriteRule ^this - [L,NC]
RewriteCond $1 !^(this)
4

1 に答える 1

1

これは、/this/ に定義されている RewriteBase が原因である可能性があります。この変更を試してください:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ this/index.php? [L]
</IfModule>
于 2012-12-18T11:03:28.997 に答える