2017-06-06 16 views
2

ポイントまでまっすぐに進むにはショートカットURLリダイレクト

私はこのURLを持っている:http://example.com/?open=encyclopedia&letter=s&term=stormと私は、このショートカットのURLたい - http://example.com/storm - 最初のURLにリダイレクトする:http://example.com/?open=encyclopedia&letter=s&term=storm

私は周り1.000百科事典の用語を持っているが、私はこのリダイレクトが入力された各用語のために仕事をしたいです。訪問者がhttp://example.com/Stormが自動的にこちらのページにリダイレクトされるように入った場合:たとえばhttp://example.com/?open=encyclopedia&letter=s&term=storm OR http://example.com/Dried_Plant

http://example.com/?open=encyclopedia&letter=d&term=dried+plantに可能であれば、私は、これまでいくつかのhtaccessのソリューションを好みます。 そうでない場合は、あなたが与えることができるものを与えてください。 どこから始めるべきかわからないので、私はこれのためのコード例はありません。

答えて

2

@Croises答えは良いです

mysite.com/?open=encyclopedia &文字= S &用語= /嵐が

REQUEST_URI後続のスラッシュを追加しています。あなたのリンクはありません1:

mysite.com/?open=encyclopedia &文字= S &用語=嵐

私は、これはあなたが

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} .(.+)$ 

RewriteRule ^(.) ?open=encyclopedia&letter=$1&letter=%1 [NC,L] 
探しているものだと思います
3

あなたのページにすべて転送することをお勧めします。encyclopedia最後の変更、

RewriteEngine on 
# skip all files and directories from rewrite rules below 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^encyclopedia?term=%{REQUEST_URI} [NE,L] 

を正しい最初の文字(letter=)では:そして、あなたはあなたが使用することができます

(最初の文字または変更と_や他の人を見つけることのように)それで何ができるかをPHPで考えます行:あなたのリンクには次のような場合

RewriteRule ^(.) encyclopedia?letter=$1&term=%{REQUEST_URI} [NE,L] 
+0

mysite.com/?open=encyclopedia&letter=s&term=stormではどうですか? – De1an

+0

ページ内の 'http:// example.com/storm'へのリンクを変更してください。 htaccessはあなたのためにそれを行うことはできません。 – Croises

+0

驚くほどよく!深く感謝します。 – De1an