1

私はこれらの実用的な書き換えルールを持っています:

# Allow access to assets folder from plugins folders
RewriteRule ^app/plugins/(.+)/assets - [L]

# forbid access to files and folders under app
RewriteRule ^app/.*$ - [L,F]

# rewrite to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?action=$1 [L,QSA]

ここで、これらのルールからhttp://www.mywebsite.com/wordpress/の下にあるすべてのものを除外したいと思います...したがって、新しい書き換え条件を追加しました:

...
# rewrite to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^\/wordpress\/ [NC]
RewriteRule ^(.*)$ index.php?action=$1 [L,QSA]

しかし、それは機能しません。私がこのようなものにアクセスしようとすると: http ://www.mywebsite.com/wordpress/contact-us/

それは私をindex.phpにリダイレクトします...

どんな助けでも本当にありがたいです。

4

1 に答える 1

1

さて、私はついにこれらすべての問題点を発見しました。実際、.htaccessファイルが私の/wordpressディレクトリに存在することに気づきませんでした。したがって、ルートディレクトリの.htaccessに、他のすべてのルールの上にこのルールを追加しました。

RewriteRule ^wordpress - [L]

次に、wordpressディレクトリの.htaccessに次のルールがあります。

RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]

すべてが最適化されているかどうかはわかりませんが、機能します。

于 2012-12-28T18:18:03.823 に答える