htaccess重写规则,没有R标志创建外部重定向

时间:2012-05-23 20:16:58

标签: apache .htaccess redirect

我正在做我认为简单的.htaccess重写以创建更好的网址。我想要一个这样的网址:

http://my-site.com/design/design-name/

替换这样的网址:

http://my-site.com/store?design=design-name

所以我将此规则添加到我的.htaccess:

RewriteEngine On
RewriteRule ^design/(.+) http://my-site.com/store?design=$1 [L]

但是,它表现得好像有一个R标志和外部重定向(更改浏览器地址栏中的URL)。重定向工作正常,但是不应该只用内部重定向我正在使用的规则吗?

1 个答案:

答案 0 :(得分:4)

安萨里是对的。如上所述here,目标网址中包含域名会将其转换为302重定向。变化

RewriteRule ^design/(.+) http://my-site.com/store?design=$1 [L]

RewriteRule ^design/(.+) store?design=$1 [L]

它应该可以正常工作。