2016-12-31 17 views
2

.htaccess URL書き換えの質問が何回か尋ねられていますが、これらの2つの組み合わせを組み合わせて作業するのは本当に苦労しています。.htaccessを使用してURLから?q =を削除する方法

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.*?)(?:\+|%20|\s)+(.+?)\sHTTP [NC] 
RewriteRule^/%1-%2 [L,NE,R=302] 

は与える::http://www.localhost:8888/exercises/exercise?q=Overhead-Squat私のサイトは以下のURLを取り、私は私を与えるために、すべての%20のスペースを削除するには、次のルールを使用しています

http://www.localhost:8888/exercises/exercise?q=overehead%20squat&

ワイルドカード検索を実行

私がやりたいことは?q =を削除することですこのKE:

http://www.localhost:8888/exercises/exercise/overehead-squat

小文字にするために必須ではない、しかし、それが望ましいです。

事前に感謝します。

答えて

1

「運動し」というディレクトリを作成し、その中にあなたのコードファイルを配置(index.phpという名前を付けます)、そしてこの.htaccess

RewriteEngine On 
RewriteRule ^(.*) index\.php?q=$1 
+0

を置くおかげでウリを、私はいつものを持っていないクラフトCMSを使用していますindex.phpを独自のディレクトリに置くという贅沢さ。 /演習のすべてのインスタンスを見つけることは可能ですか?q =クエリとそれを/ exercises/queryと置き換えます。 – Taylorsuk

+0

私はまだこれに悩まされています - これは、私には正しいリライトURLを与えていますが、私のためにクエリを実行していません。 RewriteRule "(。*)" "%(QUARY_STRING)" "(。*(?:^ |&)) 1 $ 1 /%2 /? " [PT] ' – Taylorsuk

+0

現在、それはまったく動作しません...私が上に掲示したコードはあなたのようなものではありませんか?だから現在は問題を解決していないので、正解ではなく、それが何をしているのかについての非常に良い説明を与える。あなたの助けを感謝 - しかし、これは質問に答えることはありません。 – Taylorsuk