2012-04-27 17 views
0

私は、より使いやすいURLシステムをセットアップしようとしていて、悲惨に失敗しています。 1234が最初のパラメータであると123456が第二のparamであるhtaccess 2つのパラメータの改造書き換えの問題

http://website.com/1234/123456 

:私はこのような1または2 GETパラメータを渡すことができるようにしたいです。 Apacheは、フォルダパラメータとして/1234/を見続ける私の試みにおいて

RewriteRule ^([^/]*)/([^/]*)$ index.php?id=$1&pa=$2 [L] 

RewriteRule ^(.*)/(.*)$ index.php?id=$1&pa=$2 
RewriteRule ^(.*)$  index.php?id=$1 [L] 

答えて

0

をあなたはこのようにそれを行うことができます:ここで私はこれまで試したものだ

RewriteEngine On 
RewriteRule ^/?index\.php$ - [L] 
RewriteRule ^/?(?:([^/]*)(?:/([^/]*)/?)?)?$ /index.php?id=$1&pa=$2 [L] 

それは少し厳しいと厄介なので、あなただけの試みることができます:

RewriteEngine On 
RewriteRule ^/?index\.php$ - [L] 
RewriteRule ^/?(([^/]*)(/?(.*)))?$ /index.php?id=$2&pa=$4 [L] 

これはすべての最後の最後であるのでhost.com/123/1233/56host.com/index.php?id=123&pa=1233/56に書き換えられますが、最初は書き換えられません。56

+0

私は何か間違っていると仮定しています。私は1時間それを再生してきましたが、両方の例では、最初のパラメータはフォルダとパラメータとして表示されます。 – prattw

+0

@prattw 'index.php?id = $ 1'のために'/'を追加して、サイトのドキュメントルートから引っ張るようにしたいかもしれません位置しています。それが問題なのかどうかは分かりませんが、試してみてください。 – craniumonempty