2017-03-28 35 views
0

私のタイトルはあなたが以前見たことがあるかもしれないように聞こえるが、私の問題は非常にユニークだと約束する。私はルートなどでいくつかのファンキーなことをする古いレガシーCMSの中で働いています問題:私たちはこのCMS内に住む必要があるSPAを構築します。私たちは近づいていますが、ルーティングに問題があります。 CMSを起動すると、エントリのIDを使用してルートが構築され、htmlが追加されます。エントリは/information/321.htmlのように見えます。私はそれが/ ourapp /のように見えるようにしたい。第二に、SPAであるため、/ ourapp/routeを過ぎたものは、アプリのルーティングのためにアプリのルートに戻る必要があります。どのようにこのすべてに取り組むべきか?.htaccess、シングルページアプリと書き直し

私が行って最初の部分があります。これはおそらく、あなたが探しているものである書き換え観点から

RewriteRule ^ourapp$ information/321.html [L 
+0

なぜ1つのページアプリがルーティングを全く気にしませんか? – arkascha

答えて

1

を:

RewriteEngine on 
RewriteRule ^/?ourapp/(.+)$ /information/321.html?route=$1 [L] 
RewriteRule ^/?ourapp/?$ /information/321.html [L] 

ルールはhttpサーバのホスト構成でも同様に動作すること動的設定ファイル(.htaccessスタイルファイル)にがあります。

動的構成ファイルを使用する場合、そのようなファイルがhttpサーバー(AllowOverrideディレクティブ)によってすべて考慮され、ファイルがhttpホストのDOCUMENT_ROOTフォルダーにあり、読み取り可能であることを確認する必要がありますhttpサーバプロセスに渡します。


と一般的なヒント

:あなたは、常に動的な設定ファイル(「.htaccessファイル」)を使用するのではなく、HTTPサーバのホスト設定内のこのようなルールを置くことを好む必要があります。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。彼らは、あなたがホスト構成(本当に安いホスティングサービスプロバイダを読む)を持っていないか、独自の書き換えルールを書くことに頼っているアプリケーションを持っている場合にのみ、最後のオプションとして提供されます(これは明白なセキュリティの悪夢です)。

+0

これは問題の一部だけを解決しますが... 2番目の部分はourappの過去のものをourappのルートに戻すことです。アプリのサブページに移動するとそのルートを処理できます –

+0

既に述べたようになぜなら、「単一ページアプリケーション」のためにそれがなぜ必要なのかわからないのですが...私はルールのマイナーな変更を行って、そのベースパスの下のすべてがマッピングされるようにしました。私はそのようなアプリがそのような要求をどのように処理すべきか見ていない。 – arkascha

関連する問題