我得到了以下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
有人可以解释一下我对“类别”页面做错了什么吗?
答案 0 :(得分:0)
不确定为什么第二个不适合你,我在测试我的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]
标志。
答案 1 :(得分: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']从数据库中检索当前的类别。