0

私は非常に具体的な問題を抱えています。wamp サーバーを使用して、codeigniter プロジェクトをローカルで実行しています。mod_rewrite をロードしましたが、phpinfo に表示されています。

私の wamp ルート ディレクトリには、codeigniter プロジェクト フォルダー "mysite" があります。mysite のディレクトリ構造は次のとおりです。

-mysite
   |--images
   |--eshots
   |--useruploads
   |--temp
   |--SpryAssets
   |--css
   |--js
   |--timthumb

この mod_rewrite を有効にした後、Windows ディレクトリの「ホスト」ファイルを変更し、仮想ホスト ファイルにこのコード行を追加して、このように Web サイトにアクセスしました。(mysite.local)

   127.0.0.1 mysite.local

この後、ルートディレクトリ(つまり、mysiteフォルダーの下)にhtaccessファイルを作成しました

  htaccess file:

  RewriteEngine on

  RewriteCond $1  !^(index\.php|images|lists|eshots|useruploads|temp|SpryAssets|css|js|robots\.txt|timthumb\.php)

  RewriteRule ^(.*)$ /index.php?$1 [L]

  <IfModule mod_security.c>

  SecFilterEngine Off

  SecFilterScanPOST Off

  </IfModule>

この後、ワンプから自分のウェブサイトにアクセスしようとすると、どこにも行きません。たとえば、localhost のプロジェクト フォルダー、つまり mysite をクリックすると、localhost フォルダーに戻り、URL は次のようになります。

http://mysite.local/mysite/

mysite をもう一度クリックすると、次のような URL が表示されます。

http://mysite.local/mysite/mysite

この後、リンクをクリックしても Web ページに移動しません。そして、ここで立ち往生します。サーバーからこの動作が発生するのはなぜですか? これを停止している CODEIGNITER または htaccess ファイルに問題はありますか? そして、javascript、css、images を含む各 N 個のすべてを機能させるために、どのような手順を実行する必要がありますか。

この困難な問題にどう対処するか?
ほとんどの人は、mod_rewrite を有効にするか、Apache から提供されるマニュアルを読む必要があると言います。

[更新]: WID new codeigniter project.FIRST を試したとき、htaccess ファイル以外のすべてのファイルをプロジェクト フォルダーにコピーしました。幸運にもインデックス ページに移動できましたが、css、画像、スクリプトは表示されませんでした。私の htaccess は、次のビットのみで構成されています: RewriteEngine on .

js、画像が上記のように機能するようにするにはどうすればよいですか?Apache_error ログは次のようになります:.また、次のページに移動しようとすると、「(エラー:404)要求された URL /Code/wham.local /categories/listings/Products was not found".親切に提案してください。wham.local は仮想ホストです。

apache_error ログ:

 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/css, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/css, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/js, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/js, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/js, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/js, referer: http://localhost/Code/

 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/js, referer: http://localhost/Code/

 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images, referer: http://localhost/Code/
 [Sun Nov 25 13:00:54 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images
 [Sun Nov 25 13:01:03 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images
 [Sun Nov 25 13:01:55 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/images
 [Sun Nov 25 13:01:56 2012] [error] [client 127.0.0.1] File does not exist: D:/wamp/www/Code/wham.local, referer: http://localhost/Code/
4

3 に答える 3

2

C:\wamp\bin\apache\Apache2.2.17\conf の http.conf ファイルを確認して、次のようなエントリである場合 #Virtual hosts #Include conf/extra/httpd-vhosts.conf を開き、ファイル httpd-vhosts.conf を開きますその中に以下の行を追加します。

     <VirtualHost *:80>
       DocumentRoot  "C:/wamp/www/mysite/"
       ServerName     mysite.local
      </VirtualHost>

     <VirtualHost *:80>
      DocumentRoot  "C:/wamp/www/"
      ServerName     localhost
      </VirtualHost>

それ以外の場合は、この行を httpd.conf ファイルにも追加して、サーバーを再起動できます。これが仮想ホストの概念です。

于 2012-11-24T18:33:14.767 に答える
0

Apache の書き換えモジュールを有効にする必要があります。これを行うには、 wamp tray icon>>に移動してからを選択しapacheます。apache modulerewrite module

于 2013-12-11T21:08:40.537 に答える
0

この行があなたを台無しにしているようです:

RewriteCond $1  !^(index\.php|images|lists|eshots|useruploads|temp|SpryAssets|css|js|robots\.txt|timthumb\.php)

代わりにこれを試してください

RewriteCond %{REQUEST_URI}  !^(index\.php|images|lists|eshots|useruploads|temp|SpryAssets|css|js|robots\.txt|timthumb\.php)
于 2012-11-24T00:20:28.033 に答える