4

これは私の頭を悩ませてきました。皆さんが助けてくれることを願っています。エラーがどこにあるのかわかりません。

httpd-vhosts.conf

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
    DocumentRoot /opt/lampp/htdocs
    ServerName localhost
</VirtualHost>

<VirtualHost 127.0.0.1>
    DocumentRoot /home/tilman/Sites/mysite/www
    ServerName mysite.lo
</VirtualHost>

/etc/ホスト

127.0.0.1   localhost
127.0.0.1   mysite.lo

config.php

$config['base_url'] = "http://mysite.lo";
$config['index_page'] = "";

www/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 index.php
</IfModule>

http://mysite.loデフォルトのコントローラーが表示されます。http://mysite.lo/index.php同じように。そうhttp://mysite.lo/index.php/welcomeです。

しかし、http://mysite.lo/welcomeそうではありません。

http://localhost/mysite/www/welcome期待どおりに動作します。


編集: システムとアプリケーションを Web ルートから移動したい。したがって、私のファイル構造は次のようになります。

application/
system/
www/
 '- index.php

もちろん、index.php では、パスをシステム フォルダーとアプリケーション フォルダーに変更しました。

4

2 に答える 2

9

VirtualHost の問題ではなく、rewritemod/htaccess の問題が発生しているようです。次のようなブロックがあることを確認しましたか

<VirtualHost *:80>
  ServerName mysite.lo
  <Directory /home/tilman/Sites/mysite>
    AllowOverride All
  </Directory>
</VirtualHost>

設定ファイルのどこかに?/index.php と /index.php/welcome が機能するという事実は、機能していないのは書き換え mod であることを教えてくれます...

于 2010-11-05T09:45:34.353 に答える
0

仮想ホストでは、これは必要ありませんか?

<VirtualHost 127.0.0.1>
    DocumentRoot /home/tilman/Sites/mysite
    ServerName mysite.lo
</VirtualHost>

wwwあなたがその部分を必要としていたかどうかはわかりません。

于 2010-11-05T09:37:50.970 に答える