我有一种情况,我想重定向所有传入的 URL,在 URL 中使用 %20 替换为 - 对于所有出现的情况。
现在我得到这个链接 -
这给出了这个解决方案
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteCond %{THE_REQUEST} (\s|%20)
RewriteRule ^([^\s%20]+)(?:\s|%20)+([^\s%20]+)((?:\s|%20)+.*)$ $1-$2$3 [N,DPI]
RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /$1-$2 [L,R=301,DPI]
效果很好,但是这个解决方案有一个小问题。这也会重定向对 images/docs/pdf 或其他资源的请求,并导致 404
我可以有一些东西只会重定向某些部分,而不是像它这样的所有传入链接将仅替换和重定向
www.test.com/colleges/this%20is%20my%20link/123 to
www.test.com/colleges/this-is-my-link/123
or
www.test.com/schools/this%20is%20my%20link/123 to
www.test.com/schools/this-is-my-link/123
并保持所有其他请求不变?