2011-07-30 4 views
0

の使用にはindex.php私は少しのWebアプリケーションを開発しています/ localhostの/ sのローカルホスト/ sの/ウェブリダイレクトすることができ、私のディレクトリ構造は次のようなものだった:はどのように私はmod_rewriteの

htdocs/s/index.php 
htdocs/s/views/ 
htdocs/s/vendors/ 

と私が使用しましたこの.htaccessファイル:私はlocalhost/s/index.php/aaaaにアクセスするためにlocalhost/s/aaaaを入力することができます

<IfModule mod_rewrite.c> 
    Options -MultiViews 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteBase /s/ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php [QSA,L] 
</IfModule> 

この方法です。しかし、私はこのような何かに私のディレクトリ構造を変更しました:

htdocs/s/web/index.php 
htdocs/s/views/ 
htdocs/s/vendors/ 

そして私はlocalhost/s/aaa、私は多くのことを試みたが、結果なし

localhost/s/web/index.php/aaa.にリダイレクトするための.htaccessを作る方法がわかりません。 .htaccessとmod_rewriteについてもっと知っている人は誰でも私を助けることができます。

EDIT:私のlamppサーバーなどでセットアップするのは不可能だと思われます。しかし、どうやってWordPressやJoomlaなどのCMSを作っているのですか?

開発環境ではそれほど重要ではありませんが、インターネットにアップロードするときには、アプリケーションのすべてのライブラリと内部をウェブ訪問者に隠す方法があります。誰もがやっているのですよね?だから、それはどのようにすることができますか?

編集2:私のホームサーバーでは1つではないので、私は以前のディレクトリ構造に戻って、.htaccessを使って "隠れる。あなたが提供した書き換えルールは、あなたのために正常に動作している場合、これは同様に正常に動作する必要があり

答えて

0

... Thay'llがたくさん隠されていないが、私は他の解決策を見つけることができません。

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks -MultiViews 
    RewriteEngine On 
    RewriteBase /s/ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ web/index.php [QSA,L] 
</IfModule> 
+0

I試してもうまくいきませんが、localhost/sで404エラーが発生しますが、localhost/s/index.phpで動作します。それは少し奇妙です。 – kevinspencer33

+0

私はlocalhost/s/index.php/aaaは動作しませんが、localhost/s/web/aaaはうまく動作していることに気付きました。 – kevinspencer33

+0

この.htaccessファイルはどこに保存されていますか(どのフォルダ)ですか?いずれにしても、サイトの仮想ホストを設定し、 'mysite.dev'のような偽のドメイン名でアクセスするのはどうでしょうか?' hosts'ファイルで簡単に行うことができますか?これは、頭痛の多くからあなたを保存します。 – LazyOne