我想重定向以下 URL:
/gallery/image-1/
/gallery/image-1
/gallery/image-2/
/gallery/image-2
到 /gallery/
,但它比乍看起来更难。这是来自 .htaccess:
RewriteEngine On
RewriteRule ^gallery/(.*) /gallery/ [R=301,L,NC]
所有 URL 最初都重定向到 /gallery/
,但随后它只是继续加载,显然这个 URL 也在 ^gallery/(.*)
下,所以它不断重定向到相同的 URL。几秒钟后,浏览器给我一条 ERR_TOO_MANY_REDIRECTS
消息。
如何编辑 ^gallery/(.*)
语句以仅覆盖 /gallery/
URL 之后的 URL?
最佳答案
您应该在正则表达式中使用 .+
而不是 .*
以确保在 URI 为 /gallery/
时停止重定向:
RewriteEngine On
RewriteRule ^(gallery)/.+$ /$1/ [R=301,L,NC]
关于php - .htaccess 将所有子文件夹内容(有和没有结尾斜杠)重定向到同一个子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32063341/