baserCMSで管理画面admin配下に制限をつける

baserCMSをインストールして、管理画面にアクセスする際に

「IP制限」とか「BASIC認証」を掛けたくなった時にちょいハマったのでメモ。

 

 

 

app/webroot/ 配下に 普通に admin ディレクトリを作って .htaccess を置いて制限 と 管理画面用のmodrewite の記述をすると、制限はかかるのだが、
http://xxxxxx/admin/
だと管理画面が見れるのだが、
http://xxxxxx/admin 
だとエラー(BadRequest)が出る。

deny from allAuthUserFile /xxxxxx/.htpasswdAuthGroupFile /dev/nullAuthName "Please enter your ID and password"AuthType Basicrequire valid-userorder deny,allowRewriteEngine OnRewriteBase /app/webroot/adminRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^$ ../index.php?url=admin/index [QSA,L]RewriteRule ^(.*)$ ../index.php?url=admin/$1 [QSA,L]

ログイン後のリダイレクトが
http://xxxxxx/admin
なので、結構煩わしい。

以下のようにすれば解決。
.htaccess に 以下を記載
 

RewriteEngine OnRewriteBase /app/webroot/adminRewriteRule admin /admin/ [R,L]    # 追記RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^$ ../index.php?url=admin/index [QSA,L]RewriteRule ^(.*)$ ../index.php?url=admin/$1 [QSA,L]