2017-11-23 3 views
1

私はウェブ全体を検索しましたが、回答を見つけることができませんでしたので、助けてください。htaccess example.com/page.php?cat=berlin&page=2 to example.com/berlin/2

私のHtaccessで次のようにページとカテゴリの両方を書き直そうとします:example.com/page.php?cat=berlin &ページ= 2 to example.com/berlin/2カテゴリは、ストックホルム、オスロ、コペンハーゲンのように異なる場合があります。

それを行う方法を私に示すことができる人はいますか? また、正しく表示される場所を参照してください。 %1を使用しようとしましたが、動作しませんでした。

RewriteRule ^(.*)$ /book.php?url=$1 [L] 
+1

「うまくいかない」とは決して十分な問題の説明ではありません。あなたが一見少なくとも一見するように見えたにもかかわらず、それでもなぜそれに適応する試みがないのかと疑問に思いました。 'book.php'から' page.php'へ – mario

答えて

0

これを達成するには、バックリファレンスと複数のキャプチャグループを使用する必要があります。だから、何かが似:

RewriteRule ^/page.php\?cat=([a-z]+)&page=([0-9]+)$ /$1/$2 [L] 

これはcatは必ず英字であるとpageは常に数値であることを含め、いくつかの仮定をしています。また、Apacheのドキュメントhere、特にRegex Back-Reference Availabilityのセクションを参照してください。また

%1先行RewriteCondない$1表記法を使用して現在のRewriteRuleでキャプチャグループにマッチします。