.htaccess htaccess中的重写问题
所以我有一种奇怪的麻烦。我有一个重写规则.htaccess htaccess中的重写问题,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,所以我有一种奇怪的麻烦。我有一个重写规则 mysite.com/brand.php?brand=example&ref=ex1 到 我设法做到了,但还有另一个问题:当你输入这个: mysite.com/brand/example/ex1.html 或 我明白了: mysite.com/brand/example/ex1?ref=ex1.php&brand=example 有人能告诉我为什么我得到这个重定向和如何摆脱它吗 我试过这个: RedirectMatch ^bra
mysite.com/brand.php?brand=example&ref=ex1
到
我设法做到了,但还有另一个问题:当你输入这个:
mysite.com/brand/example/ex1.html
或
我明白了:
mysite.com/brand/example/ex1?ref=ex1.php&brand=example
有人能告诉我为什么我得到这个重定向和如何摆脱它吗
我试过这个:
RedirectMatch ^brand/([A-Za-z0-9-\.\_]+)/([A-Za-z0-9-\.\_]+)php$ /brand/$1/$2
或者这个:
RedirectMatch ^brand/([A-Za-z0-9-\.\_]+)/([A-Za-z0-9-\.\_]+)\.php$ /brand/$1/$2
但它根本不起作用
求求你,任何人帮帮我 我会使用
mod_rewrite
进行以下操作:
RewriteEngine On
RewriteCond %{REQUEST_URI} =/brand.php
RewriteCond %{QUERY_STRING} ^brand=([^&]+&ref=(.+)$
RewriteRule .* /brand/%1/%2? [L,R]
只有当RewriteCond
和RewriteCond都有效时,才应用RewriteRule
。第一个RewriteCond
将请求URL与/brand.php
进行比较,第二个将正则表达式与查询字符串进行匹配,并将匹配项分别存储在%1
和%2
中
在重写规则中
是使用查询字符串中匹配的部分重写的URL
RedirectMatch ^brand/([A-Za-z0-9-\.\_]+)/([A-Za-z0-9-\.\_]+)\.php$ /brand/$1/$2
RewriteEngine On
RewriteCond %{REQUEST_URI} =/brand.php
RewriteCond %{QUERY_STRING} ^brand=([^&]+&ref=(.+)$
RewriteRule .* /brand/%1/%2? [L,R]