我正在尝试隐藏样式表,以便当用户直接从浏览器访问它时,它会显示 404,但会在我的网站上正确显示。这可能吗?我目前正在尝试这个:
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^/?wp-content/themes/mysteam/style.css$ /wp-content/themes/steam/stylesheet.css [L,NC]
有什么办法可以做到这一点?
谢谢。
我正在尝试隐藏样式表,以便当用户直接从浏览器访问它时,它会显示 404,但会在我的网站上正确显示。这可能吗?我目前正在尝试这个:
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^/?wp-content/themes/mysteam/style.css$ /wp-content/themes/steam/stylesheet.css [L,NC]
有什么办法可以做到这一点?
谢谢。
如果您想在至少一页上使用 css 文件,则无法从客户端安全地隐藏它。
如果未设置,您可以使用 referer 标头重定向到 404 页面,但是:
您可以设置一个非常智能的系统,该系统将为每个请求生成一个唯一的 id,并且仅当该 id 与当前有权查看该页面的 id 匹配时才显示 css 文件,但是:
浏览器请求您的样式表以将样式应用于您的文本,因此始终可以使用该浏览器伪造请求以查看文件的内容(或文件生成的输出),或者更简单,通过查看浏览器需要时的输出。
您使用的语法无效。有关更多信息,请参阅文档。模式不能以 a 开头,/
并且不包含查询字符串。你的重写看起来像:
RewriteCond %{QUERY_STRING} ^wp-content/themes/mysteam/style\.css$
RewriteRule ^$ /wp-content/themes/steam/stylesheet.css? [L,NC]
第一行将匹配查询字符串。第二行在?
重写部分有一个尾随以清除原始查询字符串。