Codeigniter App with Symlink -Remove index.php from URL

时间:2013-07-28 10:01:30

标签: codeigniter

我在这里和网上的其他地方经历了很多资源,但似乎无法使其发挥作用。 我在主目录中有codeigniter应用程序。 Sym链接在/ var / www / html中创建。 以下链接正常。

http://mydomain.net/dms/index.php/welcome

但是如果没有index.php,我希望以下链接可以正常工作

http://mydomain.net/dms/welcome

代码点火器2.1.1目录:

dms
    application
    system
    index.php
    .htaccess

的config.php

$config['index_page'] = ""; 
$config['uri_protocol'] = "AUTO";

routes.php文件

$route['default_controller'] = "welcome";

配置文件httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
Alias /dms/ "/var/www/html/dms/"
<Directory "/var/www/html/dms">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

sym links

ls -l /var/www/html
dms -> /home/user1/dms

.htaccess文件:

RewriteEngine On
# enable symbolic links
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+) index.php [L]

我尝试将.htaccess文件保存在CI文件夹文件夹/ home / user1 / dms中,稍后保存在/ var / www / html中 两者都没有用。 我收到错误(在http错误日志中)

"File does not exist: /var/www/html/dms/welcome"

请帮忙。

1 个答案:

答案 0 :(得分:0)

我使用这个.htaccess,它适用于我,尝试:

   <IfModule mod_rewrite.c>
        # Make sure directory listing is disabled
        Options +FollowSymLinks -Indexes
        # disable the Apache MultiViews directive if it is enabled on the server. It plays havoc  with URL rewriting
        Options -MultiViews
        RewriteEngine on

        <IfModule mod_php5.c>
            RewriteRule ^(.*)$ index.php/$1 [L]
        </IfModule>

        <IfModule !mod_php5.c>
            RewriteRule ^(.*)$ index.php?/$1 [L]
        </IfModule>

    </IfModule>