Tom*_*mer 6 php apache ubuntu .htaccess codeigniter
我在Ubuntu 10(LAMP)上有Codeigniter.我有一个htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /dort
#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 ^(.*)$ /dort/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 ^(.*)$ /dort/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>
到目前为止,我们使用IP地址连接远程服务器,我的基站位于名为"dort"的文件夹下,因此我们习惯这样称呼它:http:// some_ip/dort
现在我们将虚拟主机映射到dort,所以我们称之为:http://demo.dort.com/,突然之间什么都没有
除了登录页面(index.php)之外的其他工作.我在config.php中更改了$ config ['base_url']但是我
继续得到404.
请帮忙 :(
你使用虚拟主机吗?
我有同样的问题并用此解决
1)在我的情况下使虚拟主机是这样的:文件/ etc/apache2/sites-available/default
<VirtualHost *:80>
    ServerAdmin admin@email.com
    DocumentRoot /var/www/dort
    ServerName yourdomain.biz #this domain must be define tld info.
    ErrorLog /var/log/apache2/error_2.log
    <Directory /var/www/dort>
        Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                # Uncomment this directive is you want to see apache2's
                # default start page (in /apache2-default) when you go to /
                #RedirectMatch ^/$ /apache2-default/
    </Directory>
</VirtualHost>
2)在文件/ etc/hosts中设置主机
127.0.0.1   localhost
127.0.0.1   yourdomain.biz
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
3) .htaccess
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    # Send admin URL's to the admin controller (then skips the rest of the redirect rules)
    RewriteCond %{REQUEST_URI} ^/admin(.*)
    RewriteRule ^(.*)$ /index.php/admin/$1 [L]    
    # Redirects any request thats not a file or directory through to the main controller
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/main/$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.
    ErrorDocument 404 /index.php
</IfModule> 
4)确保重启apache时不显示错误
 Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
5)去浏览并运行这个网址http://yourdomain.biz