views:

16

answers:

1

Hi I have setup multiple application in Kohana v3, it works normally without enabling .htaccess (to remove index.php or admin.php)

my setup

+ system/
+ modules/
+ applications/
  + public/
    + bootstrap.php
    + ...
  + admin/
    + bootstrap.php
    + ...
+ index.php (for 'public' application)
+ admin.php (for 'admin' application)

so to access the frontend sample url will be;

http://mydomain.com/index.php/(controller_name)/...

and to access administration site;

http://mydomain.com/admin.php/(controller_name)/...

The task is, I want to remove and replace index.php (default url) and admin.php with /admin/ using .htaccess (mod_rewrite) so it can be

http://mydomain.com/(controller_name)           <- 'public' application
http://mydomain.com/admin/(controller_name)     <- 'admin' application

my current .htaccess (not working) is;

# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /ko3/

# Protect hidden files from being viewed

    Order Deny,Allow
    Deny From All


# Protect application and system files from being viewed
RewriteRule ^(?:web-apps|modules|core)\b.* index.php/$0 [L]

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# TODO: rewrite admin URL to admin.php/URL
#RewriteRule ^admin/(.*) admin.php/$0 [L]

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]
A: 

Usually RewriteBase param is '/' instead of '/ko3/' - its a folder name in your webroot. Also check webserver's configuration for modrewrite support.

biakaveron
/ko3/ is my document root in server.. ignore this. I need help on RewriteCond/RewriteRule
khairil
old-style URLs (`http://mydomain.com/admin.php/(controller_name)/...`) still work?
biakaveron
yes it's still work. I need to rewrite that admin.php => admin and redirect everything else to index.php/
khairil
> /ko3/ is my document root in server. but its not a folder _under_ webroot (as I can see it in your setup scheme). Change it to '/'.
biakaveron