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