2015-07-12 76 views
2

我注意到我的网址重复(或更好地说三重)。我有3个版本的同一页,是这样的:删除?和/在网址末尾

www.example.com/cars/mercedes

www.example.com/cars/mercedes?

www.example.com/cars/mercedes/

I'ld喜欢重定向[301]与?/结束到清洁的网址版。

我已经设置了一个规范标签到www.example.com/cars/mercedes,但是无论如何页面仍然可以从其他两个版本到达,我不喜欢这样。

我想是这样的:

RewriteEngine On 
RewriteCond %{THE_REQUEST} ? HTTP [NC] 
RewriteCond %{THE_REQUEST}/HTTP [NC] 
RewriteRule .? http(s)?://www.%{HTTP_HOST}%{REQUEST_URI}? [R=301,L] 

,但它不工作。任何想法?

+0

你说呢?不过,我宁愿修复。 – atazmak

回答

1

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

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{THE_REQUEST} \s/([^?]*)[?/]\s 
RewriteRule^/%1? [NE,R=301,L] 

这将删除尾随从您的网址/?

确保在清除浏览器缓存后对其进行测试。