remove index.php of codeigniter subdomains

假装没事ソ 提交于 2019-12-11 19:58:06

问题


this is my directory:

-root
   -CI
     -application
     -system

   -sub-domain1 (codeigniter )
     -application

   -sub-domain2 (codeigniter )
     -application


   -www
     -folder1
     -folder2
     .....
     -folder10
     -sub-domain1
         -index.php (used for codeigniter)
     -sub-domain2
         -index.php (used for codeigniter)
     -file1.php
     -file2.php
     -file3.php
     .....
     -file10.php
     -index.php (used for codeigniter)
     - .htaccess

in my application/config/config.php is:

$config['index_page'] = "";

I didn't have the sub-domain1 and sub-domain2 and I wanted to apply them now. I am using same system for all CIs. I used the following htaccess file and it works perfect.

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 ^(.*)$ /index.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 ^(.*)$ /index.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 index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

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

ErrorDocument 404 /index.php
</IfModule> 

now when I add sub-domain1 and sub-domain2 I have problem with index.php. for main CI index.php is gone but for sub-domains I don't know how i can do that.

www.mydomain.com/folder1/...           ok 

www.mydomain.com/controler/function    ok

www.sub-domain1.mydomain.com/index.php/controler/function  ok

www.sub-domain1.mydomain.com/controler/function  NOT ok

please help me. thanks


回答1:


You should be able to share the system directory across all of your CI installations, providing a central place for upgrades, and using less disk space.

Take a look in application/config/config.php

and the line: $config['index_page'] = "index.php";

should look like: $config['index_page'] = "";



来源:https://stackoverflow.com/questions/9572628/remove-index-php-of-codeigniter-subdomains

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!