.htaccess 将包含页面版本的URL重定向到不包含版本(css和js除外)的URL

yjghlzjz  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(128)

我有一些链接在我的网站与页面版本,我希望游客重定向到同一页面,但没有版本号。
我得到了帮助之前由{arkascha}与此代码在.htaccess影响所有链接,但我不能修改它,使css和js文件例外,因为访问者不能加载新版本的css和js在我的网站上,因为代码。

RewriteEngine on
RewriteCond %{QUERY_STRING} ^v=\d+$
RewriteRule ^ %{REQUEST_URI} [QSD,R=301,L]

包含版本的示例页面

example.com/folder/locatedpage?v=1
example.com/folder/locatedpage?v=2
example.com/folder/locatedpage?v=3

通过htaccess应用代码后的示例页面

example.com/folder/locatedpage

我想要上面相同的代码,但css和js文件例外。

nle07wnf

nle07wnf1#

RewriteRule ^ %{REQUEST_URI} [QSD,R=301,L]

更改RewriteRule * 模式 * 以排除.css.js文件。例如:

:
RewriteRule !\.(css|js)$ %{REQUEST_URI} [QSD,R=301,L]

前缀!否定了正则表达式,所以当它不匹配时,它是成功的(而^有效地匹配了所有的内容)。
但是,您需要在测试之前清除浏览器缓存,因为301(永久)重定向(错误地应用于.css.js文件)将被浏览器永久缓存(可能还有中间缓存)。最好使用302(临时)重定向进行测试,以避免缓存问题。

相关问题