我们有一个网站,其网址结构正在发生重大变化。由于页面很多,我试图找到一种方法,根据请求文件结构和缺少文件扩展名重定向。
网页主要是两个版本中的一个:
最终目标是:
我知道我可以指定一个条件来指向第二个示例的特定重定向,就像在上面的代码块中一样。我可以为第一个例子做一个简单的重定向。但令人失望的是,两个重写都会影响具有多个/文件/文件夹结构的网址,我最终会有两个重定向,一个包含新文件夹,另一个包含原始文件夹。
select distinct t2.Product, t1.Key, coalesce(t3.count, 0) as count
from table2 t2 cross join (select [Key] from table1) t1
left join table2 t3
on t3.Product = t2.Product and t1.[key] = t3.Category
是否有RewriteCond说不能包含特定的文件结构?感谢
答案 0 :(得分:1)
您可以尝试这些不会互相影响的规则:
RewriteEngine On
RewriteRule (?:/|\.[a-z0-9]{3,4})$ - [L,NC]
RewriteRule ^multiple/folder/levels/(.+)$ /learn/$1.htm [R=301,NC,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/learn/ [NC]
RewriteRule ^(.+?)/?$ $1.htm [R=301,NE,L]
RewriteCond %{REQUEST_URI} !^/learn/ [NC]
将阻止第一次重定向后执行第二次重定向规则。
确保清除浏览器缓存或使用新浏览器测试此更改。