1

すべての URL を index.php にリダイレクトしようとしているので、この URL:

domain.com/home/stats

次を指します:

domain.com/index.php

代わりは。

ただし、次のような「パブリック」ディレクトリを指す URL は必要ありません。

domain.com/public/images

index.php にリダイレクトします。

このウェブサイトで見つけたさまざまな書き換えを試みましたが、これまでのところ 100% 機能するものはありません。public ディレクトリにアクセスしようとしている場合でも、すべての URL が index.php にリダイレクトされています。

これが私が今持っているものです:

RewriteRule !^/public/.*$ index.php

私は RegEx についてほとんど知りませんが、「!」を使用することは理解しています。文字は「これを除いて」を意味します。しかし、明らかに、この場合はそうではありません。

4

1 に答える 1

0

次のようなことを試すことができます:

RewriteBase /
RewriteRule ^(public/.*) $1 [L]
RewriteRule ^index.php$ index.php [L]
RewriteRule ^(.*) index.php

2行目は、URIをそのままにすることです。3行目は、index.phpが無限ループに陥らないようにすることです。1番目と2番目は、処理されるとすぐにReWriteRule停止()する必要があります。[L]最後のものは他のすべてに適用されます。

于 2012-07-15T01:32:13.680 に答える