2016-08-23 15 views
-1

私のウェブサイトからwebsite.com/link/index.php?id=1の代わりにwebsite.com/gH25ihのようなリンクを作成しようとしています。それでは、私は今のために試したことは、この.htaccess長いリンクからランダムなリンクに変更する

Options +FollowSymLinks 

RewriteEngine On 
RewriteBase/

RewriteRule ^link/index/([0-9]*)/([a-zA-Z0-9\-\_])*$ link/index.php?id=$1 

ですが、それは唯一のウェブサイトにwebsite.com/link/index.php?id=1からそれを変更します。 co.jp/link/index/1/name

答えて

0

あなたのルールはどのように機能するように設計されていません。書き換えには2つのルールがありますが、変数は1つだけです$1 - ランダムな文字列はdbレコード(ほとんどの場合)へのポインタである必要がありますが、数字のIDがあります。

RewriteRule ^([a-zA-Z0-9\-\_]+)$ link/index.php?id=$1 [NC,L] 

website.com/gH25ihのようなリンクを許可する必要がありますがgH25ihは何とかあなたはあなたが本当のURLが、次の書き換えにランダムなURLのマッピングを維持する必要があります

0

を取得しようとしているリソースに関連している場合にのみ、

RewriteCond %{REQUEST_FILENAME} ! -f 
RewriteCond %{REQUEST_FILENAME} ! -d 
RewriteRule ^(.*)$ /link/index.php?id=$1 [L] 

インデックスのPHPスクリプトは、与えられたランダムな文字を検索します。

副題として、なぜIDから、より多くの意味/素晴らしいタイトルに移行するのではなく、あいまいなURLですか?

+0

私のコンテンツはページごとにプライベートになるので、id = 1からid = 2にちょうどchaningすることでユーザーに他のコンテンツを見つけさせたくないので、PHPファイルに入れるコードは分かりませんこれを機能させるには?私は初心者ですので、私は実際にどのようにわからない –

+0

ああ、右。これはパズルの最後のステップなので、最初にランダムIDを取得する必要があります。それを行ってください。あなたが立ち往生した場合は、あなたが試したコードで新しい質問を投稿し、何が間違っているかをよく説明してください。 – jedifans

関連する問題