Htaccess可能301重定向

时间:2015-05-22 11:37:21

标签: .htaccess

我对htaccess有疑问。

我有这样的网址: http://www.asd.com/producten/kia?category=car

我希望这是: http://www.asd.com/producten/car/kia

这可能与htaccess有关吗?

我尝试了不同的解决方法,但到目前为止还没有运气。

我试过了:

RewriteRule ^producten/([^/]+)/([^/]+) /producten/$2?category=$1 [NC]

RewriteRule /producten/(.*)/(.*) /producten/$2?category=$1 [R]

提前致谢,

莫特

2 个答案:

答案 0 :(得分:1)

尝试在/.htaccess文件中使用以下内容:

RewriteEngine On

# Step 1: Redirect the old URI to the new one and prevent looping
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{QUERY_STRING} category=([^\s&]+) [NC]
RewriteRule ^(producten)/([^/]+)/? /$1/%1/$2? [R=302,L,NE]

# Step 2: Internally rewrite the new URI to the old one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(producten)/([^/]+)/([^/]+)/?$ /$1/$3?category=$2 [L,QSA]

如果您想将重定向设为永久性,请将R=302更改为R=301

答案 1 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /(producten)/([^?]+)\?category=([^\s&]+) [NC]
RewriteRule ^ /%1/%3/%2? [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^(producten)/([^/]+)/([^/]+)/?$ $1/$3?category=$2 [L,QSA,NC]