0

ここやネットの他の場所で多くのリソースを調べましたが、うまくいかないようです。ホームディレクトリに codeigniter アプリがあります。/var/www/html に作成されたシンボリック リンク。以下のリンクは正常に動作します。

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

ただし、index.php がなければ、次のリンクを機能させたい

http://mydomain.net/dms/welcome

Code igniter 2.1.1 ディレクトリ:

dms
    application
    system
    index.php
    .htaccess

Config.php

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

ルート.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>

シンボリックリンク

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"

助けてください。

4

1 に答える 1

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>
于 2013-07-28T10:04:33.950 に答える