0

次の modrewrite スクリプトを取得しました。

RewriteCond %{ENV:space_replacer} !^$ 
RewriteRule ^.*$ %{ENV:space_replacer} 
RewriteRule (.*)/(.*)$ product.php?categorie_url=$1&product_url=$2

THIS ONE ABOVE IS WORKING: -> domain.com/korsetten/school-girl


RewriteCond %{ENV:space_replacer} !^$ 
RewriteRule ^.*$ %{ENV:space_replacer} 
RewriteRule (.*)$ categorie.php?categorie_url=$1

THIS ONE ABOVE IS NOT WORKING: -> domain.com/korsetten

.htaccess ファイル全体:

RewriteEngine on 

RewriteCond %{ENV:space_replacer} !^$ 
RewriteRule ^.*$ %{ENV:space_replacer} 
RewriteRule (.*)/(.*)$ product.php?categorie_url=$1&product_url=$2  

RewriteCond %{ENV:space_replacer} !^$ 
RewriteRule ^.*$ %{ENV:space_replacer} 
RewriteRule (.*)$ categorie.php?categorie_url=$1

誰かがカテゴリページで私が間違っていることを説明できますか?

4

2 に答える 2

0

あなたの答えをありがとう、しかしそれは私にとってはうまくいきませんでした.以下のコードは私にとってはうまくいきました:

RewriteCond %{REQUEST_URI} ^(.*)\ (.*)$ 
RewriteRule ^.*$ %1-%2 [E=space_replacer:%1-%2] 
RewriteCond %{ENV:space_replacer} !^$ 
RewriteCond %{ENV:space_replacer} !^.*\ .*$ 

RewriteRule ^.*$ %{ENV:space_replacer} [R=301,L] 
RewriteRule (.*)$ categorie.php?categorie_url=$1&%{QUERY_STRING}
RewriteRule (.*)/(.*)$ products.php?categorie_url=$1&product_url=$2&%{QUERY_STRING}

$_GET メソッドは、categorie.php ページでも機能するようになりました。これで、$_GET['categorie_url'] を使用して、データベースから現在のカテゴリを取得できます。

于 2012-05-29T12:23:25.970 に答える
0

2番目のものが機能しない理由がわかりません.Apacheセットアップでテストするときに問題が発生しました. しかし、以下は私にとってはうまくいきます:

RewriteCond %{ENV:space_replacer} !^$
RewriteRule ^.*$ %{ENV:space_replacer}
RewriteRule ^([^/]+)/([^/]+)$ product.php?categorie_url=$1&product_url=$2  [L]

RewriteCond %{ENV:space_replacer} !^$
RewriteRule ^.*$ %{ENV:space_replacer}
RewriteRule ^([^/]+)/?$ categorie.php?categorie_url=$1  [L]

正規表現を微調整して[L]フラグを追加しました。

于 2012-05-28T19:00:05.617 に答える