2016-04-26 6 views
1

.htaccessファイルを使用してURLの書き換えを行っています。私の.htaccessファイルのcontaines疑問符の後の読み取り値がPHPのhtaccessパラメータに含まれています

RewriteEngine On 
RewriteRule ^([0-9a-zA-Z_-]+)$ edit_tutorial.php?tutorial_title=$1 [NC,L] 

だから私のURLは次のようになります。 www.xxxx.com/tutorials/abc-fdfg S11wagfgdrm bedf-dats fd? Not:so fast

"abc-fdfg S11wagfgdrm bedf-dats fd? Not:so fast"は、コロン、疑問符、ハイフン、数字を含む私のチュートリアルのタイトルです。私はそれのための書き換えルールを書いてみたい。私は特殊文字も欲しいです。どのようにルールを書くことができますか?助けてください。

$_REQUEST['tutorial_title']を使用してタイトルを読み取ろうとしているときに問題が発生しています。abc-fdfg S11wagfgdrm bedf-dats fdのような価値があります。私は?マークの後に値を読み取ることができません。助けてください。

+2

のRewriteRule ^([\ [\] =、\&@〜\ {\} \ + '\ *™ '。! A-Za-z0-9 _-] +)$ edit_tutorial.php?tutorial_title = $ 1 [QSA、L]私はこれを試みたが、それは動作しません。その500エラーを与える。 –

+0

こんにちはAnubhava、私の書き換えURLは次のようなものです:example.com/subject/tutorials/Docker_Swarm_beats_Kubernetes?_Not_so_fast。 疑問符の後に値が表示されません。たとえば上記の「Docker_Swarm_beats_Kubernetes?_Not_so_fast」はチュートリアルのタイトルです。 $ _REQUEST ['tutorial_title']を使用した場合、tutorial_titleは 'Docker_Swarm_beats_Kubernetes'と表示されています。 tutorial_titleを 'Docker_Swarm_beats_Kubernetes?_Not_so_fast'として取得するにはどうすればよいですか。助けてください。 –

答えて

0

あなたはTHE_REQUESTからキャプチャされたQUERY_STRINGで、このルールを使用することができます?

RewriteEngine On 

RewriteCond %{THE_REQUEST} /tutorials/[^/?]+/?(\?\S*)?\sHTTP 
RewriteRule ^tutorials/([^/]+)/?$ user.php?tutorial_title=$1%1 [NC,L] 
+0

チュートリアルのタイトルに含まれていない場合はどうすればいいですか?マーク。私のチュートリアルのタイトルに含まれていない場合は?自動的に追加することをマークしますか?私のタイトルに。 –

+0

たとえば、私のリンクがexample.com/subject/tutorials/abc_defの場合。 私はチュートリアルのタイトルを次のようにしています:abc_def?これは私の$ _REQUEST ['tutorial_title']変数のようです。 %{QUERY_STRING}を使用した場合タイトルに含まれていればうまくいきますか?マーク。 –

+0

これはPHPコードの中にあるので、最後の '? '文字をtrim関数を使って簡単に整えることができます。 – anubhava

関連する問題