我想创建一个固定的侧边栏,它存在于我的中心Bootstrap网格之外.我在尝试这样做时面临的挑战是确定应用/覆盖我的其他样式,.container以便在调整屏幕大小时它不会与我的侧边栏重叠.
对于初学者来说我只使用了CSS框架的栅格部,因此.container,.row并.col-md-12从拉代码bootstrap.css文件本身并不是定制.另外请记住我正在使用Bootstrap 3,所以请不要为以前的线程中经常被问到的Bootstrap 2的流体网格解决方案提出建议.
HTML
<div id="left-nav"></div>
<div class="container">
<div class="row">
<div class="col-md-12">
<p>Lorem ipsum dolor sit amet, nunc dictum at.</p>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
html, body {
height: 100%;
width: 100%;
}
#left-nav {
background: #2b2b2b;
position: absolute;
top: 0px;
left: 0px;
height: 100%;
width: 250px;
}
Run Code Online (Sandbox Code Playgroud) 无论出于何种原因,我无法从laravel echo接收客户端的任何数据.我正在使用laravel-echo-server(socket.io),redis广播公司和redis队列.据我所知,它们都是功能性的.我会带你了解我如何进行测试.首先,我创建了一个UserCreated事件:
class UserCreated implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $user;
public function __construct($user)
{
$this->user = $user;
}
public function broadcastOn()
{
return new Channel('user-created');
}
public function broadcastAs()
{
return 'user.created';
}
}
Run Code Online (Sandbox Code Playgroud)
然后,为了测试此事件,我创建了一个CreateUser命令:
class CreateUser extends Command
{
protected $signature = 'create:user {username}';
protected $description = 'Create a new user!';
public function __construct()
{
parent::__construct();
}
public function handle()
{
$user = \Chatter\User::create([
'name' => $this->argument('username'),
'email' => uniqid() . '@gmail.com',
'password' => bcrypt('secret')
]); …Run Code Online (Sandbox Code Playgroud) 我一直在研究这个问题几个小时没有,仍然没有解决方案.如果你不明白我在标题中提出的问题,我会详细说明.我试图禁止从Apache访问某些样式表和脚本,但我只希望它在文件不存在时抛出403错误.
以下是我尝试过的一些例子:
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$ - [F,L,NC]
Run Code Online (Sandbox Code Playgroud)
这不是出于某些奇怪的原因,不知道为什么.
此外,在我继续更多示例之前,我将解释我正在尝试使用正则表达式实现的目标:我正在使用版本控制,因此我无法确定管理员和员工之后会发生什么,所以我正在使用一个可选的字符类.它只影响css,js以及php扩展,以及css.map扩展.顺便说一句,如果你想知道为什么在正则表达式的字符类和admin | staff部分之间有一个短划线,那是因为我的版本控制工具用破折号分隔日期和文件名.万一这个信息将帮助你我使用的版本控制工具是Laravel Elixir.
更多例子:
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRedirect 403 (admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRedirect 404 (admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$
Run Code Online (Sandbox Code Playgroud)
在这个示例中,无论您放置哪个,它都会调用该错误代码.
我甚至尝试过使用该指令,但即使该文件不存在,它似乎也会被调用.
<FilesMatch "(admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$">
deny from all
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
感谢您提供的任何帮助,出于某种原因,我似乎无法在网上找到任何关于此类事情的内容!
Covenor想要一些例子,所以他们在这里:
/anydirectory/admin-12d16m4.css
/anydirectory/staff.js
anydirectory/admin.php的
感谢Covenor,我已经部分解决了我的问题.这是我现在的代码:
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$ - [F,L,NC]
Run Code Online (Sandbox Code Playgroud)
这适用于admin.css,admin.js,admin.css.map等文件,但是一旦我实现版本化文件,它就不会隐藏它们.以下是版本化文件名的示例:app-968b520079.css.即使我在我的正则表达式中找不到问题,它也没有隐藏它.
感谢您提供更多帮助.
感谢所有帮助过的人,问题已得到彻底解决.对于想要了解我使用的确切代码的人来说,这里是:
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (admin|staff)-?[A-Za-z0-9]*(.min)?(?(-1)(css|js)|(css.map|css|js|php))$ - [F,L,NC]
Run Code Online (Sandbox Code Playgroud)
PS,我不确定是谁给予赏金,所以获得最多选票的人将得到赏金.
我已经被这个问题困扰了一段时间了,这确实困扰了我,所以我想我应该问一下。在 Laravel 中,它们如何允许访问具有两个命名空间的外观?如果你不明白我的意思,这里有一个例子。使用会话外观时,以下两个语句都将起作用:
use Session;
use Illuminate\Support\Facades\Session;
Run Code Online (Sandbox Code Playgroud)
我在网上进行了搜索,但仍然没有找到这个问题的答案。
谢谢你的帮助!
laravel ×2
php ×2
apache ×1
css ×1
facade ×1
html ×1
laravel-5.4 ×1
laravel-echo ×1
mod-rewrite ×1
namespaces ×1
redis ×1
regex ×1