标签: slug

Rails中URL中的ID + Slug名称(如StackOverflow中)

我正在尝试在Rails中实现这样的URL:

http://localhost/posts/1234/post-slug-name
Run Code Online (Sandbox Code Playgroud)

同时使用ID和slug名称而不是其中之一

http://localhost/posts/1234
Run Code Online (Sandbox Code Playgroud)

要么

http://localhost/posts/post-slug-name
Run Code Online (Sandbox Code Playgroud)

(现在我在URL中只有slug名称,所以这部分结束了).我怎样才能做到这一点?

UPD

我发现了一篇关于此的文章:http://augustl.com/blog/2009/styling_rails_urls/,而不是/id/slug建议使用/id-slug哪种方式对我来说非常有效,所以我会选择这个.

url ruby-on-rails slug

16
推荐指数
3
解决办法
9625
查看次数

reddit URL中的5个字符的字母数字id是什么?

什么7n5lu是reddit URL 7n5lu

它是如何产生的?

更新:@Gerald,感谢您的代码.我最初认为这是对id的一些混淆.但是,它只是从整数转换为更紧凑的表示.我在想,为什么要这样做?为什么不使用原始整数本身!

>>> to36(4000)
'334'
>>> to36(4001)
'335'
Run Code Online (Sandbox Code Playgroud)

python url reddit slug

15
推荐指数
2
解决办法
3061
查看次数

我应该动态创建一个slu or还是存储在DB中?

slug是描述或标题页面的URL的一部分,并且通常是关键字丰富的页面改进SEO.例如,在这个URL中PHP/JS - 动态创建缩略图或存储为最后一节"php-js-create-thumbnails-on-the-fly-or-store-as-files"的文件是slug.

目前,我正在为每个页面存储slug,并在DB中记录页面的记录.当页面生成并与页面一起存储时,从标题字段生成slug.但是,我正在考虑动态生成slug,以防我想要改变它.我正在努力找出哪个更好,哪些更好.

到目前为止,我已经为每个人提出了这些专业要点:

Store slug: - "Faster"处理器每次都不需要生成它(生成一次)

生成即时: - 灵活(可以调整slug算法,不需要为整个表重新生成). - 在数据库中占用更少的空间 - 从数据库传输到应用程序的数据更少

还有什么我错过了,你会怎么做?

编辑:

我想澄清一下在答案中看起来像是一种误解.slu to对登陆正确页面没有影响.要理解这一点,只需切断或破坏本网站上任何部分的slu .. 例如:

PHP/JS - 动态创建缩略图或存储为文件

PHP/JS - 动态创建缩略图或存储为文件

PHP/JS - 动态创建缩略图或存储为文件

都将带你到同一页.slu from永远不会被编入索引.

你不需要保存旧的slu .. 如果你登陆了一个有"旧slu"的页面,那么你可以检测到这一点,然后只需301重定向到正确的"slu"".在上面的例子中,如果Stack Overflow实现了它,那么当你登陆任何带有截断slug的链接时,它会将url中的slug与当前slug算法生成的slug进行比较,如果不同,它会执行301重定向到同一页面,但使用新的slug.

请记住,所有内部生成的链接将立即使用新算法,并且只有来自外部指向的链接才会使用旧的slug.

slug

15
推荐指数
3
解决办法
3839
查看次数

Wordpress:如何在标签页面上获取标签的slug

我在tag.php页面上.我怎样才能得到它的slu ??

single_tag_title() 获得标题就好了,但是slu ??

tags wordpress slug

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

如何在变体中获取属性名称而不是slug?

我需要从woocommerce产品变异获得属性.

$terms = get_post_meta($value['variation_id'], 'attribute_pa_color', true);
Run Code Online (Sandbox Code Playgroud)

这段代码给了我一个属性slug而不是name.我怎样才能获得属性名称?

非常感谢你提前!

php variables attributes slug woocommerce

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

drupal:从字符串创建slug的标准方法

此上下文中的一个slug是一个字符串,可以安全地用作urls或css上的标识符.例如,如果您有此字符串:

I'd like to eat at McRunchies!
Run Code Online (Sandbox Code Playgroud)

它的slu is将是:

i-d-like-to-eat-at-mcrunchies
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种在Drupal上构建这样的字符串的标准方法(或drupal提供的php函数).更确切地说,在Drupal主题中.

上下文:我正在修改一个drupal主题,因此它生成的节点的html包括它们的分类术语作为包含div的css类.麻烦的是,其中一些术语的名称不是有效的css类名.我需要"迷恋"他们.

我读过有些人只是这样做:

str_replace(" ", "-", $term->name)
Run Code Online (Sandbox Code Playgroud)

这对我来说真的不够.它不downcase代替大写字母,但更重要的是,不能取代非ASCII字符(如A或E)通过的ASCII码值.它也不会从开始和结束中删除"分隔符字符串".

有没有在Drupal 6(或PHP库)的功能,它提供了一种slugify一个字符串,并且可以在Drupal主题的template.php文件中使用吗?

php string drupal slug

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

在codeigniter中使用slugs

我听说有人用slu to来生成干净的网址.我不知道它是如何工作的.目前我有一个codeigniter网站,生成这样的网址

www.site.com/index.php/blog/view/7
Run Code Online (Sandbox Code Playgroud)

根据我的理解,通过维持一个slug字段,可以实现网址

www.site.com/index.php/blog/view/once-upon-a-time
Run Code Online (Sandbox Code Playgroud)

这是怎么做到的?特别是参考codeigniter?

php codeigniter clean-urls slug

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

在控制器中使用Twig Extension

我在Twig扩展中有一个slugify方法,我想在某些情况下在控制器中使用,fe有重定向.
有一个简单的方法吗?
我如何从控制器中的Twig Extensions访问功能?

或者我是否必须将slugify方法作为帮助才能在代码和树枝中使用它?

slug symfony twig

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

如何在创建友好URL时删除无效字符(即如何创建slug)?

说我有这个网页:http://ww.xyz.com/Product.aspx? CategoryId
= 1

如果CategoryId = 1的名称是"Dogs",我想将URL转换为如下内容:http:
//ww.xyz.com/Products/Dogs

问题是如果类别名称包含外来(或对于URL无效)字符.如果CategoryId = 2的名称是"Göraäldre",那么新网址应该是什么?

逻辑上它应该是:
http: //ww.xyz.com/Products/Göraäldre
但它不起作用.首先是因为空间(我可以很容易地用短划线取代)但是外国人物呢?在Asp.net中我可以使用URLEncode函数,它会给出类似这样的东西:
http://ww.xyz.com/Products/G%c3%b6ra+%c3%a4ldre
但是我不能说它比原来更好url(http://ww.xyz.com/Product.aspx?CategoryId=2)

理想情况下,我想生成这个,但我怎么能自动执行此操作(即将外来字符转换为'安全'url字符):http:
//ww.xyz.com/Products/Gora-aldre

asp.net url-rewriting slug

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

django.db.utils.IntegrityError:UNIQUE约束失败:rango_category__new.slug

我使用Django从Tango学习Django,当我输入时我不断收到此错误:

python manage.py makemigrations rango
python manage.py migrate
Run Code Online (Sandbox Code Playgroud)

这是输出:

django.db.utils.IntegrityError: UNIQUE constraint failed: rango_category__new.slug
Run Code Online (Sandbox Code Playgroud)

Models.py:

from django.db import models
from django.template.defaultfilters import slugify

class Category(models.Model):
    name = models.CharField(max_length=128, unique=True)
    views = models.IntegerField(default=0)
    likes = models.IntegerField(default=0)
    slug = models.SlugField(unique=True)

    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        super(Category, self).save(*args, **kwargs)

    def __unicode__(self):
        return self.name


class Page(models.Model):
    category = models.ForeignKey(Category)
    title = models.CharField(max_length=128)
    url = models.URLField()
    views = models.IntegerField(default=0)

    def __unicode__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

django slug

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