2012-11-22 17 views
7

URLをhtaccessで書き換えて、読みやすいURLにして、PHPで$ _GET変数を使用したいと思います。
時々サブドメインを利用するため、また、URLに不要な変数もあります。私は

RewriteEngine on 
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4&$5=$6&$7=$8 [QSA,NC] 
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3&$4=$5&$6=$7 [QSA,NC] 
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4&$5=$6 [QSA,NC] 
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3&$4=$5 [QSA,NC] 
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4 [QSA,NC] 
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3 [QSA,NC] 
RewriteRule ([^/]+)\.domain.com/([^/]+)$ $1.domain.com/$2.php [L,QSA,NC] 
多くのことを検索して試した後、この思い付いたURLにある3つの変数

URL sub.mydomain.com/page/a/1/b/2/c/3の最大値がsub.mydomain.com/page.php?a=1&b=2&c=3につながるはずとURL sub.mydomain.com/a/1/b/2/c/3$_GET['a'] = 1

sub.mydomain.com/index.php?a=1&b=2&c=3につながるはず取ります

しかし、私が取得することは、私はので、多分私が何かを監督、この時と良くないんだけど見つからないサーバーエラー

です。
また、最後にスラッシュを付けたり、スラッシュを付けたりしないでください。

RewriteCondを使用するか、いくつかのオプションを設定する必要がありますか?

ありがとうございます。

+3

この分割をmod_rewriteで行うのではなく、簡単なキャッチオールルール( 'RewriteRule ^(。*)$ index.php?p = $ 1')だけでなく、php 。ほとんどのCMSやWebフレームワークは、柔軟性があり、保守が簡単で、Apacheに依存しないため、このようにしています。 –

+0

@ LieRyanそして最大9個の変数に、私は同じ問題を抱えて次回試してみます。 – Dediqated

+0

私は助けを言うが、言う... QダンスFTW! –

答えて

7

RewriteRuleを使用している場合は、ドメイン名をその行に含めないでください。また、最初にRewriteEngineをオンにしてください。このように:

RewriteEngine On 
RewriteRule ^([^/]+)/([^/]+)$ index.php?$1=$2 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?$1=$2&$3=$4 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?$1=$2&$3=$4&$5=$6 

最初の行は2番目の書き換えsub.mydomain.com/a/1/b/2sub.mydomain.com/page.php?a=1&b=2に、sub.mydomain.com/page.php?a=1sub.mydomain.com/a/1を書き換え、そしてあろう。

+0

うれしいことに感謝しています!私の悪い、RewriteEngineがオンになった。質問を編集してコードブロックに入れます。 – Dediqated

関連する問題