2017-05-27 14 views
0

htaccessでリダイレクトを設定する必要があります。 私のhtaccessファイルは.htaccessでリダイレクトを設定し、パスを維持する

RewriteEngine on 
# If a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Otherwise forward it to index.php 
RewriteRule . frontend/web/index.php 

の下に与えられているので、それはフロントエンドにすべての要求をリダイレクト/ウェブ

しかし、問題は、それが次のリクエストを仮定しているが来る/ index.phpを/サイト/現在上記のルールを使用する方法について frontend/web/index.phpがパスパラメータを受け取っていません。すなわち、パスは、フロントエンド/ウェブ/ index.phpを

.IE自体をパラメータとして/サイト/について

にリダイレクトされ、私はパスパラメータを必要としています。/site/aboutは/frontend/web/index.php/site/aboutにマップする必要があります また、パス部分は動的です。つまり、サイト/サービスのようなものになる可能性があります。

htaccessでこのルールを実行するにはどうすればよいですか。私はいくつかの他の解決策を確認しましたが、そのほとんどはパスパラメータを自分のサイト設定ごとに行うことができないクエリ文字列にマップすると言っています。

+0

はここに私の質問を見て、私はそれはあなたがhttps://stackoverflow.com/questions/34181921/http-to-必要なものと非常によく似だと思いますwww-while-preserving-subfolder – aron9forever

答えて

1

あなたは新しいものに元のパスを追加する必要があります:

RewriteRule (.*) frontend/web/index.php/$1 
1

@Rickdenhaanが言ったように、あなたは、リンク先URLへのリクエストのパスを追加する必要があります。 %{REQUEST_URI}変数を使用してアペンドするか、書き換えターゲットの末尾にバックレファレンスを使用してアペンドできます。

これにあなたのRewriteRule行を変更し

RewriteRule . frontend/web/index.php%{REQUEST_URI} [L] 
+0

これは動作していないようです –

+0

この問題は具体的にお考えください。 – starkeen

関連する問題