3

私のプロジェクトはCodeIgniterでセットアップされています。CIのURLをクリーンアップするために、ページのhtaccessにRewriteRuleを追加して、醜い「index.php」を削除しました。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

このルールは次のように書き直します。

https://baseurl/index.php

https://baseurl/

プロジェクトはAjaxページの更新に大きく依存しているため、ここではjavascriptディープリンクも使用したいと思います。ディープリンクは次のようになります。

https://baseurl/#/deeplink

問題は次のとおりです。書き換えルールにより、美しく挿入されたディープリンクが削除され、ユーザーがルートサイトにリダイレクトされます...ハードページの更新時にディープリンクを削除せずにindex.phpを削除するにはどうすればよいですか?

ありがとう!

デイブ・ティマーマン

4

1 に答える 1

1

フラグメント#/deeplinkがサーバーに送信されることはなく、URLフラグメントはクライアント側(ブラウザー)でのみ保持されます。リクエストの一部としてサーバーに送信されることはありません。リクエスト:

https://baseurl/#/deeplink

index.phpスクリプトと何ら変わりはありません。

https://baseurl/

そもそもサーバー上のフラグメントをどのように読み取ることができたかわからない。

于 2012-10-19T01:45:43.317 に答える