小编jbe*_*ulo的帖子

Apache Rewrite规则:如何检查cookie中的主机名?

我正在使用重写规则设置cookie,这是有效的(简化为了简洁起见):

RewriteCond %{QUERY_STRING} set_cookie=1 [NC]
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}?skip=1 [QSA,NE,NC,L,CO=test_%{HTTP_HOST}:tmp:%{HTTP_HOST}:5:/]
Run Code Online (Sandbox Code Playgroud)

这个设置名为test_ {host_name}的cookie.现在我想在下一个请求中读取该cookie值.我试过这个(以及一些变体),但这似乎不起作用.

RewriteCond %{QUERY_STRING} skip [NC]
RewriteCond %{HTTP_COOKIE} ^.*test_%{HTTP_HOST}=tmp.*$ [NC] 
RewriteRule ^(.*)$ - [L]
Run Code Online (Sandbox Code Playgroud)

当我在Google上搜索时,我发现了一篇文章说明了以下内容:

如果您想知道"为什么不使用%{HTTP_HOST}而不是corz.org,创建通用代码?",据我所知,不能使用RewriteCond测试一个服务器变量而不使用Atomic Back References和一些严肃的POSIX 1003.2+ Jiggery-Pokery.

我想这是我的问题,但我对如何解决它感到有些茫然.任何帮助是极大的赞赏.

问候,Joost.

apache cookies mod-rewrite

6
推荐指数
1
解决办法
781
查看次数

Silverstripe admin:"有一个"下拉列表在导入后转换为普通输入字段

我对Silverstripe的管理员有一些问题.我定义了一个数据库模型(参见下面的类定义),在我执行dev/build之后,所有内容都按预期显示.当我尝试添加一个新的"包"时,所有"有一个"字段都有一个下拉(见屏幕截图1).我还建立了一个导入这些包的导入器.运行时,除了打开包装外,一切都很好看.然后'节'正确耦合.您可以看到名称,然后可以选择下拉列表.另一方面,"Troupe"神秘地转换为输入字段,仅显示另一个表中记录的id(参见屏幕截图2).

有谁知道这里发生了什么?有什么东西可以触发我不知道的这种行为吗?我的代码有问题(是的,但与这个问题有关吗?;-))?我检查了桌子的结构,没有什么可疑的......

之前: 进口前

后: 进口后


Package.php

    class Package extends DataObject {
        public static $db = array(
            'Number'                    => 'Int',
            'Title'                     => 'Varchar(255)',
            'Description'               => 'HTMLText',
            'Credits'                   => 'HTMLText',
        );

        public static $has_many = array(
            'Events'    => 'Event',
        );

        public static $many_many = array(
           'Genres'            => 'Genre',
        );

        public static $has_one = array(
            'Festival'          => 'Festival',
            'Troupe'            => 'Troupe',
        );
    }

    class PackageAdmin extends ModelAdmin {
        public static $managed_models       = array('Package'); // Can manage multiple models
        static $url_segment                 = 'packages'; // Linked …
Run Code Online (Sandbox Code Playgroud)

php silverstripe

4
推荐指数
1
解决办法
2216
查看次数

502坏网关和codeigniter/nginx/apache.代码或服务器问题?

我的codeigniter应用程序正在针对502错误的网关错误运行.我知道这个主题还有其他线程,但我不是服务器向导,症状不同,我的服务器配置也略有不同,或者我认为.

这是我的情况.

  • 应用程序工作正常,直到我第n次发布一个表单(n在2到n次之间).第n次与之前的帖子完全相同.我只需更改一个字段,然后按提交按钮.
  • 表单使用验证类,我自定义了错误消息设置器,这些消息也在会话中设置为flashdata(我希望消息在重定向后可用).
  • 我的服务器使用Nginx和apache(Plesk,apache服务守护进程称为httpd).如果我"服务httpd停止"或"服务nginx停止"我的所有网站都会立即停止工作.
  • 错误日志中没有错误.

我的问题是:这可能是编码问题,还是最明确(或最有可能)服务器配置错误?如果是后者,当然欢迎所有建议,但请记住它是一个plesk/apache/nginx环境.

希望你们能帮忙!

apache codeigniter nginx plesk

2
推荐指数
1
解决办法
6566
查看次数

Silverstripe:"Up"的模板行为

在Silverstripe模板中,$ Up标记暂时中断当前循环/并允许访问父作用域.虽然以下模板代码有效,但我不明白为什么.

$ Checked是一个包含我循环的对象的列表,它本身包含一个带有$ Items的列表,我需要显示第一个.该对象还有一个所有者,我需要在第一个项目的范围内访问该所有者.

我有以下silverstripe模板代码:

<% loop $Checked %>
    <% with $Items.First %>
        <article class="checked-statement">
            <span class="statement-outcome h-bg-true-$Verdict.Value">$Verdict.Name</span>
            <div class="checked-statement__statement">
                <a href="xxx" class="checked-statement__picture"><img
                        src="$Up.Up.Owner.Photo.CroppedImage(160,160).Url" alt="$Up.Up.Owner.Name.XML" class="h-full-rounded"/></a>
                <a href="xxx" class="checked-statement__name">$Up.Up.Owner.Name</a> zei
                <h3>
                    <a href="yyy" class="checked-statement__statement-text">$Up.Up.Title</a>
                </h3>
            </div>
            <a href="yyy" class="checked-statement__argument">
                $Up.Up.Statement&hellip;
                $Top.Icon('chevron-right')
            </a>
        </article>
    <% end_with %>
<% end_loop %>
Run Code Online (Sandbox Code Playgroud)

我想我只需要一个"Up"来达到$ Checked的范围.但我需要两个,这很奇怪,因为第一个Up应该突破"with",第二个应该突破循环,给我顶级范围,其中特定项目不可用.. .

任何人都可以在我的推理或代码中指出我的错误吗?

silverstripe

1
推荐指数
1
解决办法
106
查看次数

标签 统计

apache ×2

silverstripe ×2

codeigniter ×1

cookies ×1

mod-rewrite ×1

nginx ×1

php ×1

plesk ×1