2017-06-18 8 views
2

私はhtaccessに問題があります。多分あなたが私を助けることができます。私のシステムは、angle2-app(単一ページのクライアントサイドアプリケーション、index.html)とslim-v3 php REST API(index.php)で構成されています。 angular2-appはREST APIにアクセスします。可能であれば、angle2-appとスリムなREST APIに同じドメインを使用したいと思います。私はindex.htmlを経由angular2アプリを起動して、例えばのような内容に行けばhtaccess slim and angular2

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 

RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ 
RewriteRule ^(.*) - [E=BASE:%1] 
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L] 

:現時点では

、htaccessファイルは次のようになりますhttp://www.example.com/mycontent/idすべて正常に動作します。 私は直接URL http://www.example.com/mycontent/idを呼び出す場合は、私が手スリム(PHP)から404

私はにhtaccessファイルを変更する場合:

RewriteEngine On 
RewriteBase/
RewriteRule^index \ .html $ - [L] 
RewriteCond% {REQUEST_FILENAME}! -f 
RewriteCond% {REQUEST_FILENAME}! -d 
RewriteRule./Index.html [L] 

正しくhttp://www.example.com/mycontent/id作品の直接呼び出しが、スリムフレームワークもう動作しません。

アイデアはありますか?ありがとうございました!

RewriteEngine On 

# Handle API Requests 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} ^/api/ 
RewriteRule^/api/index.php [L] 


## pure angular routes 
RewriteBase/
RewriteRule ^index\.html$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.html [L] 

だから今、私の角度:私は同じ問題に出くわした

答えて

0

は、私はその後、私の.htaccessはこのようになりますではすべての私のAPIの生活を有し、かつ

/api/index.php 

を指し示すことによってそれを解決しましたアプリはrootにあり、APIは/ apiにあり、すべてが1つの幸せな家族と同じ屋根の下に住んでいます