2
.htaccess
ファイルがルートから機能するようにしようとしていますが、サブディレクトリにRewriteRule
も使用しています。アクセスしようとしたとき.htaccessがサブディレクトリで無視されています
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/admin/index.php$ [NC]
RewriteRule ^admin/(.*)$ /admin/index.php?_pd=$1 [QSA,L]
RewriteRule ^(.*)$ /index.php?_pd=$1 [QSA,L]
</IfModule>
は、しかし、私は404エラーが出/admin/login
などなど作品のこの種:それが何をすべきか
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?_pd=$1 [QSA,L]
RewriteCond %{REQUEST_URI} !^/admin/index.php$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/(.*)$ /admin/index.php?_pd=$1 [QSA,L]
</IfModule>
でもありません。いくつかは機能しますが、機能しないものもあります。
この.htaccessが '/ admin /'フォルダにある場合、書き換えルールのパターンは 'admin /'部分を含んではいけません(URLは現在のフォルダに相対的です)。 – LazyOne
いいえ、それは根本にあります。 – James
まあ、私はすべての詳細を持っていないので、私はあなたの2番目のルールを交換することをお勧めできます(2番目の例) - 3行ブロックを4行ブロックの下に移動します。これは '/ admin/xxx'のURLを処理するはずです。現在、すべてのURL(ルールの順番)と'/admin/'ルールが一致しない'/index.php'が決して一致しません。 – LazyOne