2012-01-17 14 views
1

私は既にいくつかの書き換えを行っていますが、実際には書きませんでした。(ヘルプを求めているのではなく、あるQID私にとってクエリ文字列を削除して 'フォルダ'の名前で置き換えるmod_rewrite

http://wouldyourathers.co.uk/question/1231 

:とにかく、私はに

http://wouldyourathers.co.uk/?qid=1231 

をオンにしたいのですが、私はそれについて何も知らないと私は:(

を学習の時間の支出の時間を持って感じることはありませんむしろ醜いです。簡単に?の質問にこれを変更するが、私はまだそのきれいではありませんを感じることができました。

唯一の問題は、私はすでにで所定の位置に書き換えを持っている:

RewriteCond %{REQUEST_URI} !dispatch\.php$ 
RewriteCond /var/www/wyr/docroot%{REQUEST_FILENAME} !-f 
RewriteRule ^(/.*)$ /dispatch.php?url=$1 [L,QSA] 
RewriteRule ^x\.!dispatch\.php([^b]+)!dispatch\.php$ !dispatch\.php [L,NE] 

これは私のdispatch.phpに私のサーバーからの要求を指し、ここになります私は、基本的にそれらを表示するためのURLのと周りの混乱セクシーな方法。しかし、私はどのように私はクエリを編集することができません。ディスパッチファイルの内部でこれを編集してコードを実行して、データ呼び出しを行う必要があります。

+0

[簡単なのRewriteRuleはそれが必要として動作していない]の可能性重複(http://stackoverflow.com/questions/8509446/simple-:

あなたの質問IDをPHPでそのURLを解析し、回復できます再書き込み - 非動作 - そのまま) – mario

答えて

1

あなたの他のルールの前に(これは長いニーズよりもであっても)

おかげで、あなたはこれを追加してみてくださいすることができます

RewriteRule ^/question/([0-9]+)$ /?qid=$1 [L,QSA] 
0

を今、あなたのルールを変更することなく、あなたがに行くときhttp://wouldyourathers.co.uk/question/1231/question/1231はスクリプトで$_GET['url']にある必要があります。

$parts = explode('/', $_GET['url'); 
if ($parts[1] == 'question') { 
    $question_id = $parts[2]; 
    // you could even do $_GET['qid'] = $parts[2]; 
} 
関連する問題