小さなCMSで1台のWYSIWYGエディターを使用します。まで、投稿されたユーザーからのURLを書き直してください。
<img src="/myweb/userfiles/images/dog.jpg" />
私はデータベースにこれを保存して、任意のページで、後でそれを使用することができます:それは私が買ってあげるソースで、画像の名前dog.jpgを追加した場合、ユーザーがファイル等、画像をアップロードすることができます自分のサイトをライブドメインに移動します。
mywebはIISの仮想ディレクトリです。 "/"はroot、この場合はlocalhostを指しているので、 "/ myweb"を使う必要があります。しかし、サーバーにサイトをアップロードしてデータベースをコピーすると、サーバーに「myweb」フォルダーがないため、すべてのリンクが壊れます。
私の考えは、保存時に "/ myweb"を空の文字列に置き換えることでした。私はまた、いくつかのファイルを作成する完全なURLを置き換える必要があります。私は正しいアプリケーションディレクトリを追加する必要があります。私はおそらく両方のバージョンをデータベースに保存し、サーバーの変更時にのみ表示バージョンを更新する必要があります。 、醜い維持するのは難しいと非効率的である
p = p.Replace("href=\"" + fullUrl, "href=\"").Replace("src=\"" + fullUrl, "src=\"").Replace("href=\"" + partialUrl, "href=\"").Replace("src=\"" + partialUrl, "src=\"");
:
は、今では私が作ってみました。私はより良いアプローチは、正規表現を使用することだと思うが、私はそれを行う方法がわからない。
私の質問は誰でも良い記事、ブログ/フォーラムの投稿をお勧めしますか?あなたが他の解決策を持っているなら、素晴らしい。
あなたのコードは私が探していたものです。代わりのポートを持つWebサイトのあなたの助言は、本当の解決策です:)しかし 私はまだ考えていますが、ユーザーがこのクリーンアップを必要とする可能性はありますか? – Milan
あなたは、とにかく(絶対URLまたはファイルパスを推測しています)あなたがきれいにするために必要ないくつかの "フル"パスがあると言いました。既にルートになっていないという問題を抱えている既に構築された側のために、本番環境で非ルートパスに展開する明確な要件がない限り、私はそれを見ません... – eglasius
...サイトはリンク、 images/css/scripts)を非ルートディレクトリに展開すると壊れます。ビルドしても問題は回避されますが、すでに存在する場合は、多くの更新を意味する可能性があります – eglasius