私は私のプロジェクトのWebルートに次の.htaccess
ファイルを持っている:Apache2の書き換え - 条件付き
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /repos/eamorr.co.uk/react_www/index.html [L,QSA]
上記の作品を。
私はに移動した場合:
http://localhost/repos/eamorr.co.uk/react_www
私は私のホームページを参照してください。
そして、私はに移動したとき:
http://localhost/repos/eamorr.co.uk/react_www/contact-us
私は私のホームページの「接触-たち」ルートを(私のWebページがリアクトで書かれている)を参照してください。
OK。すばらしいです。今
、一部のユーザーは、Linux上にある:彼らはコードをチェックアウトすると
、彼らはわずかに異なるURLでサイトを参照してください。
http://localhost/_eamorr/develop/eamorr.co.uk/react_www/
と
http://localhost/_eamorr/develop/eamorr.co.uk/react_www/contact-us
この行は、.htaccess
ファイル:
RewriteRule . /repos/eamorr.co.uk/react_www/index.html [L,QSA]
代わりの.
は、私は別のパスからのindex.htmlを提供するために入れることができ、いくつかの条件がありますか?
RewriteRule {{condition1???}} /repos/eamorr.co.uk/react_www/index.html [L,QSA]
か(異なる条件=別のパス):
RewriteRule {{condition1???}} /_eamorr/develop/eamorr.co.uk/react_www/index.html [L,QSA]
私はApacheの知識がアップ情報を迅速にこれを行うことはできません怖いと私はしましたこれで時間を費やした!
=================
策:次のように
はカスケードhtaccessファイルの書き換えルールの設定を使用します。
RewriteEngine On
#RewriteBase/
#Linux localhost:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^.*repos/eamorr.co.uk/react_www.*$
RewriteRule ^([^/]+\.?[^/])*$ /repos/eamorr.co.uk/react_www/index.html [L,QSA]
#Mac localhost:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^.*_eamorr/eamorr.co.uk/react_www.*$
RewriteRule ^([^/]+\.?[^/])*$ /_eamorr/eamorr.co.uk/react_www/index.html [L,QSA]
#develop .co.uk
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^.*gitWebFlow/eamorr.co.uk/develop/react_www.*$
RewriteRule ^([^/]+\.?[^/])*$ /gitWebFlow/eamorr.co.uk/develop/react_www/index.html [L,QSA]
#master .co.uk
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^.*gitWebFlow/eamorr.co.uk/master/react_www.*$
RewriteRule ^([^/]+\.?[^/])*$ /gitWebFlow/eamorr.co.uk/master/react_www/index.html [L,QSA]
#default
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L,QSA]
これは今私の必要性のために十分です。
こんにちは、これは非常に便利な投稿でした。それに応じて私のオリジナルの質問を更新しました... – Eamorr
これは役に立ちましたがうれしいですが、htaccessをウェブルートのように見せかける目的を打ち消すようなルールはありません。それらのサイトは 'react_www 'より上のディレクトリから何かを提供していますか?そうでない場合は、 'DocumentRoot'の移動やシンボリックリンクの使用を検討して、リポジトリ構造が公開されているフォルダ内にある必要はありません。ポイントはおそらく、あなたが同じ(追跡された)ファイルを使って各ブランチを管理している可能性が高いからです。 – Walf