小编p.g*_*all的帖子

如何同时使用apache mod_rewrite和别名?

我在webroot外面有一个目录,用于存储从单独的管理系统上传的图像.图像以以下格式存储:

filepath/writable/images/00/00/23/65/filename-236581.jpg
Run Code Online (Sandbox Code Playgroud)

(webroot是filepath/html)

...例如.这里,236是数据库中图像的ID,文件系统被分成编号目录,以阻止在一个目录中使用100多个inode.

我希望能够从前端Web服务器访问这些,如下所示:

http://(server)/filename-236581.jpg
Run Code Online (Sandbox Code Playgroud)

其中filename是seo优化的字符串,与实际文件的名称相同.

我可以通过mod-rewrite来重写URL,使其包含额外编号的目录,并且我可以获得别名将请求重定向到writable/images目录,但我不能同时执行这两个操作.如果我同时放入alias和mod_rewrite指令,它会忽略别名,错误日志会抱怨它无法找到filepath/html/uploaded-images.

这是我到目前为止:

RewriteRule ^(.*)\/([^\/]*)-([0-9])\.(gif|jpg|jpeg|png)$ /uploaded-images/00/00/00/00/$2-$3.$4 [L,NC]
Run Code Online (Sandbox Code Playgroud)

...等等,一直到:

RewriteRule ^(.*)\/([^\/]*)-([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])\.(gif|jpg|jpeg|png)$ /uploaded-images/$3$4/$5$6/$7$8/$9$10/$2-$3$4$5$6$7$8$9$10$11$12.$13 [L,NC]

alias /uploaded-images "filepath/writable/images"
Run Code Online (Sandbox Code Playgroud)

删除[L]没有区别.

apache mod-rewrite alias

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

为什么django管理员不接受Nullable外键?

这是我的一个模型的简化版本:

class ImportRule(models.Model):
  feed = models.ForeignKey(Feed)
  name = models.CharField(max_length=255)
  feed_provider_category = models.ForeignKey(FeedProviderCategory, null=True)
  target_subcategories = models.ManyToManyField(Subcategory)
Run Code Online (Sandbox Code Playgroud)

此类管理用于将项目列表从订阅源导入数据库的规则.

尽管管理系统在模型中声明为可空,但管理员系统不会在不选择feed_provider_category的情况下添加ImportRule.数据库(SQLite目前)甚至检查出ok:

>>> .schema
...
CREATE TABLE "someapp_importrule" (
  "id" integer NOT NULL PRIMARY KEY,
  "feed_id" integer NOT NULL REFERENCES "someapp_feed" ("id"),
  "name" varchar(255) NOT NULL,
  "feed_provider_category_id" integer REFERENCES "someapp_feedprovidercategory" ("id"),
);
...
Run Code Online (Sandbox Code Playgroud)

我可以很容易地在python shell中创建对象:

f = Feed.objects.get(pk=1)
i = ImportRule(name='test', feed=f)
i.save()
Run Code Online (Sandbox Code Playgroud)

...当然,管理系统不会让我编辑它.如何让管理员让我编辑/创建对象而不指定该外键?

nullable foreign-keys django-admin

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

InDesign Server - 无法调整图像大小 - 它已锁定且无法解锁

我正在编写一些JS代码来重新链接图像,然后调整它以适应包含的对象.简化版代码:

var image = (get image);
try {
  image.itemLink.relink(File(new_filename));
}
catch(e) {
  (log it);
}

var image = (find image again because after the relink it would otherwise cause error "Object no longer exists")

(work out new width, height, v offset, h offset);

try {
  if(image.locked) {
    lock_later = true;
    image.locked = false;
  }
}
catch(e) { }

// Resize and reposition image
image.geometricBounds = [(rectangle.geometricBounds[0] + h_offset) + "mm", (rectangle.geometricBounds[1] + w_offset) + "mm", (rectangle.geometricBounds[2] - h_offset) + "mm", …
Run Code Online (Sandbox Code Playgroud)

javascript indesign-server adobe-indesign

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

在Objective C中实例化一个任意类

我在Objective C中有一个NSMutableArray对象.我根据数据文件的内容填充它,其中包含每个元素应该包含的类和参数列表.所有可能的类都继承自公共父类.

有没有办法实例化数组的每个元素而不对大规模if-else测试中的每个可能的类进行硬编码?

objective-c

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