我已经制作了一些基于URL引导用户的PHP代码,并且我找到了一些htaccess代码,它提供了索引页面的URL,让我的代码可以工作。但是,它在技术上也揭示了什么是文件/文件夹以及什么不是。
如果我转到website.com/somethingrandom/somethingelse
,我会收到404错误,而转到website.com/cache/private
会说禁止。
除了一些选择的文件类型(例如图像,css和js文件)之外,我将如何对其进行编辑以使其不存在任何文件?
以下是目前的代码:
RewriteBase /
RewriteEngine On
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-f
# This rule converts your flat link to a query
RewriteRule ^(.*)$ index.php?_page_location=$1 [L,NC,NE]
答案 0 :(得分:1)
如果您想要隐藏某些文件或目录,即将其显示为不存在,则可以使用R|redirect
标记重定向
RewriteRule ^cache/private - [R=404,L]
这告诉客户端,没有名为cache/private
(404)的文件。但请注意,这适用于所有客户端,甚至是您自己。
要对此进行限制,您必须在规则前添加一些RewriteCond
,或将其包装在某些条件语句中,如If
或类似。
如果要隐藏所有文件,请使用“更广泛”的正则表达式,例如
RewriteRule ^ - [R=404,L]
这将为您的所有网站的网址返回“未找到”。您还可以提供一组网址,例如此
RewriteRule ^(?:cache/private|secrets|database) - [R=404,L]
将隐藏
以下的所有内容有关如何自定义您自己的模式的详细信息,请参阅Apache - Regular Expressions和http://www.regular-expressions.info/。
答案 1 :(得分:1)
你的规则如下:
.main{
display: inline-table;
border: 1px solid blue;
}
.left {
width: 79%;
margin-right: 1%;
display: table-cell;
border: 1px solid green;
}
.right {
width: 20%;
border: 1px solid red;
display: table-cell;
vertical-align: middle;
}