我有一个适用于SEO友好网址的地图文件
现在客户希望不允许用户访问技术链接意味着只有SEO链接应该是可访问的
例如我的地图文件看起来像
buche-massiv-weiss-lackiert.html /?page=datail&productid=1212
目前SEO正在运作,但我需要的是如果用户称之为
技术链接,即
/?page=datail&productid=1212
如果还应该首先重定向到SEO链接,然后应该调用该页面。
最好的方法是什么?
答案 0 :(得分:1)
在同一个映射文件中添加一个反向条目,如下所示:
/?page=datail&productid=1212 buche-massiv-weiss-lackiert.html
然后将此规则放在htaccess的顶部,以便重定向到漂亮的URL:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/*(/.*?)\sHTTP [NC]
RewriteCond %1::${mymap:%1} ^(.*)::.
RewriteRule .* ${mymap:%1}? [L,NE,R=301]
这假设您RewriteMap
的名称是mymap
。将其更改为您的地图名称。
答案 1 :(得分:0)
使用Helicon Ape,你可以在同一个地图文件上使用反向地图,如下所示:
RewriteEngine On
RewriteMap map_rev txt_rev:my_map_file.txt [NC]
RewriteCond ${map_rev:$1|NOT_FOUND} (.*)
RewriteCond %1 !NOT_FOUND
RewriteRule (.+) %1 [R]
然后是您现有的地图规则。 使用ISAPI_Rewrite,您将不得不创建另一个反转的映射文件,并确保两个文件的内容同步。用法类似于:
RewriteEngine On
RewriteMap map_rev txt:my_rev_map_file.txt [NC]
RewriteCond ${map_rev:$1|NOT_FOUND} (.*)
RewriteCond %1 !NOT_FOUND
RewriteRule (.+) %1 [R]