2017-02-07 20 views
0

私は自分のPHPスクリプトのURLをフレンドリーにしようとしています。私のスクリプトはrootになっています。書き換えルール - フォルダが見つからない場合でも

これらのURL:

http://www.example.com/foo/blah 
http://www.example.com/foo/bar 
http://www.example.com/foo/snoopy 

はこれで書き換えられている:これは良い取り組んでいる、と私のスクリプトは、「何とか」「バー」と「スヌーピー」とすべてにを取得している

RewriteRule ^foo/([0-9a-zA-Z-+]+)$ ./script.php?x=$1 [L,QSA] 

xパラメータ。

しかし、私はこのURLをしようとした場合:?

http://www.example.com/foo 

を私はscript.phpする書き換えるにはどうすればよいのx =すべて、その後404を取得しますか?

また、私は似たURLにいくつかの古い要求を持っている:oldidのparamが設定されていない場合script.php?x=55

私がしたい、:oldidのparamに設定されている場合

http://www.example.com/foo/?oldstuff=2&oldid=55 

どのように私はこれを書き換えることができますscript.php?x=allにリダイレクトします。私はここで他のパラメータについては気にしない。

それでも最高の書き換えを維持しますか? http://www.example.com/fooについては

+1

私は正常に動作するようですどの本になってしまった: 'RewriteEngine するRewriteCondで "%{QUERY_STRING}"「(*(:?^ |&))oldid =([^&] *)&? (。*)&?$ " "^foo /?$ "/script.php?x=all RewriteRule"^foo /(.*) "./script.php?x=%2 [L] " L] RewriteRule^foo /?([0-9a-zA-Z - +] +)$ ./script.php?x=$1 [L] ' – EirikR

+0

いい仕事です!最初のものは、 'RewriteEngine On RewriteCond"%{QUERY_STRING} "" *(?:^ |&)oldid =([^&] *)&?* "RewriteRule"^foo /( " 。*) "./script.php?x=%1 [L]' –

答えて

関連する問題