2017-09-30 25 views
3

私はリダイレクトの問題を解決する必要があります。htaccess URL書き換えpage.php?page =ハイフンを含む文字列

RewriteEngine On 
RewriteRule ^category/([a-zA-Z0-9]+) category.php?page=$1 [NC,L,QSA] 

そして、これが category.php?page=pinturasようなクエリのために働くとcategory/pinturasにリダイレクトされます。.htaccessファイルで、私はこのコードを持っています。

しかし、文字列はこのような-持っている場合: category.php?page=aquoso-madeiraをそれがcategory/aquoso

すべてのヘルプにリダイレクト?

答えて

2

category.php?page=aquoso-madeiraあなたRewriteRuleパターンが、それはまでのすべてを一致するように、ハイフン(-)を含み、しかし、最初のハイフンを除いていないのでそれはcategory/aquoso

にリダイレクトします。これは特別な文字であり、使用された場合、代替の意味を持っているので、ハイフン(-)は、文字クラスの開始または終了時に行かなければならないこと

RewriteRule ^category/([a-zA-Z0-9-]+) category.php?page=$1 [NC,L,QSA] 

注:

は、文字クラスにハイフンを含めます他の場所。

そして、これはcategory.phpようなクエリのために働いて?ページ= pinturasとカテゴリ/ pinturasこの書き換えはあなたが記述しているものの完全な反対をしていること

ノートにリダイレクトします。

このルールはcategory/pinturasのような要求を受け取り、内部でcategory.php?page=pinturasに書き換えます。 (ここに外部リダイレクトはありません - あなたのコードの別の部分にある可能性があります)

関連する問題