【问题标题】:.htaccess file - can't get it working.htaccess 文件 - 无法正常工作
【发布时间】:2016-04-01 04:52:47
【问题描述】:

我的根是wwwwww/css/ 是包含所有 css 文件的子目录。 我希望根(www)中的文件(不是文件夹)能够访问css中的文件(我正在使用包含(php))。 我不希望用户直接访问目录 www/css/ 中的文件。

我在子目录 www/css/ 的 .htaccess 文件中有以下代码: Options FollowSymLinks Deny from css

我之所以这么写是因为当我使用<Directory> 标签时它根本不起作用(内部服务器错误)。 但是我阻止了对目录 www/css 的访问,但不阻止访问其中的文件(例如,我可以访问文件 www/css/grid.css)。

当我说:

Deny from all

根目录 (www) 中的所有文件都无法访问这些文件。结果我没有 CSS 样式。

谁能帮帮我,好吗?我试图解决这个问题 5 个小时,但我做不到。我还在努力。

圣诞快乐!

【问题讨论】:

  • 如果您使用像 FileZilla 这样的 FTP 客户端,它允许您为远程主机上的文件和目录设置权限。此功能通常称为 chmod 或在程序菜单中设置权限,或者通过使用主机控制面板中提供的文件管理器,如 cPanel、DirectAdmin、Plesk..或者如果您对主机帐户具有 shell/SSH 访问权限,则可以使用 chmod更改文件权限。
  • 还有一个php函数叫chmod,我没用过。php.net/manual/en/function.chmod.php
  • 我试过了,但这并不是我真正想要的。使用权限 711(例如)我可以允许每个人随时通过目录执行文件。我想阻止用户直接访问这个目录。 (我不希望他随时执行)
  • 你为什么不给一个只读权限..比如644..如果你有安全考虑..它是安全的..但是如果你想隐藏你的css文件是因为这样的原因作为“偷来的设计”..普通用户永远不会去 css 路径..前端开发人员将使用诸如“firebug”之类的工具..

标签: php html apache .htaccess


【解决方案1】:

.htaccess 文件上传到http://example.com/www/css/

.htaccess 文件中,包含以下行:

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^$
RewriteRule ^(.+)\.css$ http://example.com/www/deny_css_access.html

如果一切正常(它应该),那么任何尝试通过直接在浏览器栏中键入该文件的地址来访问http://example.com/www/css/ 中的.css 文件,只会导致浏览器地址栏重定向到:

http://example.com/www/deny_css_access.html.

【讨论】:

  • 好的,我试过了,结果如下:我可以访问www/css/ 目录中的文件,当我刷新页面时,它会将我定向到deny_css_access.html
  • 你刷新的页面地址是什么?
  • 也许我误解了你写的部分问题:“我不希望用户直接访问目录 www/css/ 中的文件。” .上述指令的目的是 - 虽然您的网站页面仍然可以引用和访问样式表 - 您(作为用户)将无法看到 /www/css/ 文件夹中的任何 .css 文件 - 如果您尝试将浏览器指向此文件夹中的.css 文件,您将被重定向到/www/deny_css_access.html。这不是你想要的吗?
  • 你完全失去了我。我了解到您希望您的 .css 样式表可以从您网站上的页面正常访问,但不能通过浏览器直接访问。我想我误解了你的问题。
  • 我在 stackoverflow 评论中遇到了困难// 我并不特别介意有人看到我的 css 文件。但有趣的是为什么它适用于 php 文件(.htaccess 块)而不适用于 css 和 js 文件(只有目录出现 403 错误,但 css 和 js 文件没有,实际上仅在刷新后工作)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-07
  • 2012-08-05
相关资源
最近更新 更多