0

次のような URL から wordpress ブログに切り替えました。

/blog/2012/01/01/how-to-build-a-website

このような短いURLに

/blog/?p=123

Wordpressには、このように機能する検索エンジンがあります

/blog/search/?s=how to build a website

そして、パラメータを検索しsます。

.htaccess Redirectmatch を使用して、すべての古い URL を、投稿のタイトルをパラメータとして検索 URL にリダイレクトしようとしていますs

したがって、ユーザーが

/blog/2012/01/01/how-to-build-a-website

にリダイレクトする必要があります

/blog/search/?s=how to build a website

これをコーディングしました

Redirectmatch blog/\d+/\d+/\d+/(.+) http://www.mysite.com/blog/?s=$1

しかし、この正規表現は、その/中の-シンボル内の最後の文字列の後に文字列全体を取得します。

このようにして、ユーザーが

/blog/2012/01/01/how-to-build-a-website

にリダイレクトされます

/blog/search/?s=how-to-build-a-website

ユーザーをリダイレクトしたい間

/blog/search/?s=how to build a website

これを行う正規表現をどのように書くことができますか?

編集:はい、私はこの種のURLが醜いことを知っています:)しかし、この背後には私が解決しようとしているいくつかの技術的な問題があるので、私はそれを行う方法を知っている..

4

1 に答える 1

0

これをしないでください。短い URL を使いたくなるかもしれません。結局のところ、TinyURL などを取得できます。/blog/?p=123よりもあったほうがいいのではない/blog/2012/01/01/how-to-build-a-websiteですか?

いいえ、ちがいます。

その理由は、誰かがあなたのブログ記事へのリンクを投稿するとき、URL が長いほど意味があるからです。それは記事がどれくらい古いかを人に伝えます。それはタイトルを与えます。人々があなたの記事を見つけやすくなります。結局のところ、サイトのインデックスを作成する際に、URL は Google によって非常に重要視されます。

URL は、以前はコンピューター用に作成されていました。のようなもの/blog/?p=123はコンピューターに最適です。解析が簡単で、追加のデータベース ルックアップは必要ありません。「ウェブサイトの構築方法」という名前の 2 つの記事を書くことができ、ブログ エンジンは 2 つ目の記事に を追加する必要はありません-2。URL の構造を構成することなく、サーバー上のファイルの実際の構造に簡単にマップできます。

しかし、URL は人間用にも作成できることに気付きました。URL/blog/2012/01/01/how-to-build-a-websiteは、人間が簡単に理解できる形式になっています。確かに、入力するのは少し長くなりますが、入力しているすべてのビットは簡単で、ほとんどの URL はとにかくコピーして貼り付けるか、クリックするだけです。確かに、コンピューターにとってはより多くの作業が必要ですが、それだけの価値はあります。これにより、インターネットがより使いやすくなります。

申し訳ありませんが、私はあなたを助けません。:)

于 2012-07-11T19:22:05.030 に答える