2016-04-08 9 views
1

別のURLで特定のフォルダにリダイレクト:は、.htaccessファイル私はこのアーキテクチャを持って

- api 
- apps 
- public 

実際に私はこれを持っている:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^$ public/  [L] 
    RewriteRule (.*) public/$1 [L] 
</IfModule> 

この.htaccessファイルは自動的に/パブリックフォルダにリダイレクトします。しかし、今私はAPIフォルダを作成し、urlが/ apiの場合はAPIフォルダにリダイレクトしたい。

私はhttp://my-domain.com/apiを呼び出していますが、私はapiフォルダに行きたいので、他のすべてのURLではパブリックフォルダにリダイレクトしたいと思っています。

お手伝いできますか?私はこの.htaccess設定ではまったく悪いです。

+0

スタートを使用するツールのドキュメントを読んで。そのための 'RewriteCond'コマンドがあります:http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond – arkascha

答えて

1

あなたはしてみてください、あなたのルールからフォルダを除外する必要があります。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^$ public/  [L] 
    RewriteRule ^((?!api).*)$ public/$1 [NC,L] 
</IfModule> 
+0

あなたの答えをありがとう、これはまだパブリックフォルダにリダイレクトされます:/ – John

+0

すべきではありません何とかどこかにスラッシュがありますか? URLがexample.com/apiaries/whatever-goes-next –

+0

の場合、編集内容はうまくいきますが、私がmydomain.com/api/robotsを呼び出していると私のWebサービスが見つからない場合はどうすればいいですか?404があります。問題は私のルート設定PHP側にあります。ありがとう。 – John

関連する問題