0

自分のサイトのリンクを短くしてツイートで使用したいのですが。t.coのようなURLに興味がありますが、リダイレクトの実装方法について混乱しています。

私のサイトのリンクは通常、次のように表示されます。

https://mysite.com/item/this-is-a-book-on-toasters

上記のリンクにリダイレクトされる短縮リンクをどのように表示するかを次に示します。

https://ms.co/Im8y2x

これを行う方法をグーグルで調べたところ、301リダイレクトを行う必要があるようです。私はPHP、特にCodeigniterを使用していますが、PHPスクリプトと.htaccessの2つのコンポーネントがあると思います。

これが私の.htaccessです:

RewriteEngine on
RewriteRule ^/?$ https://mysite.com [L]
RewriteRule ^(.*)$ https://ms.co/$1 [R=301,NC]

私が必要だと思うPHPはここにあります。

残念ながら、このリンクの回答を解釈して有用なスクリプトを作成することはできません。誰かがこれを手伝ってくれるでしょうか?また、私の.htaccessは正しく見えますか?

4

2 に答える 2

1

これは、ショートリンクWebサイト(ms.co)の.htaccessコードである必要があります。

RewriteEngine On

RewriteRule ^(.*)$ https://mysite.com/in.php?id=$1 [R=301,L]

in.phpには、$ _ GET ['id']をデコードし(指定したリンクで提供された短いハッシュデコードメソッドを介して)、データベース内のIDと照合し、リダイレクト先のページを取得するスクリプトが含まれている必要があります。 。

ちなみに、コードにNCパーツを追加しなかったのは、デコード方法を使用すると、大文字と小文字(多くの場合)で異なる結果が得られる可能性があるためです。

于 2012-07-11T11:14:01.283 に答える
0

私は自分の質問に答えました。上記の質問を考えると、.htaccessディレクティブは次のようになります。

RewriteCond %{HTTP_HOST} ^o-a\.co$ [NC] // the rewrite rule
RewriteCond %{HTTPS} =on //to enable HTTPS
RewriteRule ^(.*)$ https://mysite.com/page-to-handle-hash/$1 [L] //where in your application you want to send the 6-digit hash
于 2012-07-21T14:03:29.297 に答える