2012-03-25 22 views
0

htaccess書き換えルールを書き込もうとしています。しかし、それはhtaccessが動作していません

、リダイレクトされていません。これは、サイト名/ questionkeyのようなURLを表示し、完全にそれをリダイレクトします私の現在のルール

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)$ question.php?qkey=$1 

です。

今IAMのサイト名などのURLを表示しようとしている/ questioncatagory/questiontititle

IAMが、以下のルールを使用しようとしているが、それは

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)/^([a-zA-Z0-9]+)/^([a-zA-Z0-9]+)$ question.php?qkey=$1 

答えて

0

まず動作していない、それはおそらく明快さとメンテナンスのためのより良いです([a-zA-Z0-9])を([\ w] +)で置き換える

第2に、新しいルールはキャレット^文字のために機能しません。最初は、 '行の先頭に一致する'ことを示していますが、正規表現では合計3回は当てはまりません。 2つ後の^キャレットを削除します(そして、追加のキャプチャされたグループを$ 1、$ 2などのどこかで使用します)。

最後に、行末を$文字と一致させる必要はないでしょう。これは多くのURLにはあまり意味がありません。たとえば、スラッシュが付いたURLなどです。

RewriteEngine On 
RewriteRule ^([\w]+)/([\w]+)/([\w]+) question.php?qkey=$1&cat=$2&qtitle=$3 
+0

Iamは本当に納得しました。ここにルールを書くことでそれをクリアすることができます... –

+0

私は私の答えに調整された行を追加しましたが、あなたのURLの$ 2と$ 3(question/category/question_title)部分の独自の実装が必要です。 – hexparrot

+0

ありがとうございます:) URL内の質問キーを隠す機会はありますか? sitename/questioncatagory/questiontitleとしてURLを表示したいと思います。 –

関連する問題