• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Htaccess for Multiple Applications?

#1
[eluser]ShoeLace1291[/eluser]
I'm trying to remove index.php from my urls. I have two applications, one called "main"(uses main.php) the other called "admin"(uses admin.php). I have set the variable for default index page for both to be blank. I changed index.php in the htaccess file that i found in the wiki to fit my needs. Now I keep getting a 404 Not Found error. This is my htaccess:

Code:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /main.php?/$1 [L]
    
    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /main.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to main.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ main.php?/$1 [L]
    RewriteRule admin/^(.*)$ admin.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to main.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /main.php
</IfModule>

#2
[eluser]Aken[/eluser]
1) RewriteCond conditions expire after the first RewriteRule. So you must repeat conditions for each RewriteRule if you have some that are the same.

2) You have a regular expression syntax error in your admin rewrite.

3) From this .htaccess file, it looks like you're using query strings instead of the slash-separated URL structure that CI defaults with? I've replaced it with what a standard CI .htaccess file would typically use. You should revert back if that was initially correct.

4) I can't say if this will solve all your problems. I've never used more than one CI application on a single instance, and don't know what else is required to set it up properly. But this will at least fix what's incorrect in the .htaccess file.
Code:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /main.php/$1 [L]
    
    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /main.php/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to main.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUE/ST_FILENAME} !-d
    RewriteRule ^(.*)$ /main.php/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^admin/(.*)$ /admin.php/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to main.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /main.php
</IfModule>


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.