标签: slug

最好将slug保存到DB还是动态生成?

我正在开发一个django项目,并希望在url的末尾包含一个slug,就像在stackoverflow.com上所做的那样:http://example.com/object/1/my-slug-generated-from-我的标题

对象ID将用于查找项目,而不是slug - 而且,就像stackoverflow.com一样,当获取链接时(仅显示它),slug根本不重要.

问题:动态生成slug是否存在下行(或上行),而不是将其保存为实际的数据库字段?

例如(不是真正的代码):

class Widget(models.Model):
    title = models.CharField()

    def _slug(self):
      return slugify(self.title)
    slug = property(_slug)
Run Code Online (Sandbox Code Playgroud)

而不是使用类似AutoSlugField的东西(例如)?

由于我的计划是让它与标题匹配,我不知道在数据库中是否有重复字段是否有意义.

谢谢!

django slug

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

URL Slugs:重定向还是404?

有些网站,比如SO,允许在网址中出现"虚假"的漏洞.在我的网站上实现URL slugs之前,我有一个'最佳实践'的问题......

给定一个结构example.com/123/article-slug-here/,如果我的网站通过查询ID允许虚假slu - -

我是不是该 ...

  • 只是重定向到适当的/规范的URL(验证slug,并在不匹配的情况下重定向)?

-要么-

  • 返回404,因为技术上example.com/123/this-article-s-u-x不存在?

url slug

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

CakePHP - 如何使用slug进行反向路由?

我正在使用CakePHP 1.3.我有一个产品型号.对等的数据库表有idslug领域.

如果我有一个产品,是id:37slug:My-Product-Title我想要的网址为产品是:

产品/ 37 /我 - 产品名称

而不是标准:

产品/视图/ 37

我创建了一个如下所示的路线:

Router::connect(
    '/products/:id/:slug',
    array('controller' => 'products', 'action' => 'view'),
    array('pass' => array('id'), 'id' => '[0-9]+')
);
Run Code Online (Sandbox Code Playgroud)

现在我可以去http://server/products/37/My-Product-Title,它带我到正确的地方.

但是如何获得反向路由以自动构建正确的URL $HtmlHelper->link

我用的时候:

echo $html->link(
    'Product 37', 
    array('controller'=>'products', 'action' => 'view', 37)
);
Run Code Online (Sandbox Code Playgroud)

它仍然输出标准products/view/37网址.

php model-view-controller cakephp url-routing slug

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

使用JavaScript或jQuery解析URL

好的,我想说我有一个URL

example.com/hello/world/20111020(带或不带斜杠).我想做的是从域example.com中删除网址.然后打破hello world 20111020成阵列.但我的另一个问题是.有时URL没有/ hello/world/20111020或者只是/ hello /所以我需要先确定example.com之后是否有任何内容,如果没有,那么什么都不做,因为显然没有什么可以使用的.但是,如果每个/我都需要将它按顺序添加到此数组中.所以我可以使用数组[0]并知道它是你好的.

几天前我尝试了一些东西,但遇到了拖尾斜线的问题,它一直打破了剧本,我遗憾地放弃了这个想法.今天我正在寻找新的想法.

javascript url jquery parsing slug

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

从heroku slugs中排除宝石中的文件(使用.slugignore,heroku)

我正在使用的rails 3.0.x项目使用一个gem,其中包含heroku部署所不需要的大量测试数据.我想将它排除在heroku slug之外,因为它会向slug添加几十个meg(并且已经将我们超过100mb大小限制几次,因为其他原因我们的slug很大.)

我尝试使用.slugignore机制这样做,但我找不到一种方法让它排除宝石中的文件而不是应用程序中的文件.这是在Bamboo堆栈上运行的rails 3.0.x应用程序,但如果在这些版本中有解决方法/过程,我会升级到rails 3.1和/或雪松堆栈.

关于解决这个问题的其他建议并非"让巨大的宝石更小"也非常受欢迎.

assets ruby-on-rails heroku slug ruby-on-rails-3

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

更好的SEO来删除文章的URL Slug中的"停止"单词?

我看到一个Wordpress插件,从文章URL Slug中删除某些单词.

所以举个例子,没有插件,如果我创建一篇标题为...的文章

使用Trello App将您的项目组织到电路板中

然后Wordpress会自动创建这个URL Slug ...

组织 - 您的项目 - 到 - 板 - 用最trello-应用

现在,如果我使用删除"停止"单词的插件,它将改为创建此URL slug ...

组织项目 - 板 - trello-应用

现在我的问题,插件的描述说它对SEO更好,我很好奇,如果其他人觉得这样更好地删除这样的话或更好的有更长的版本?

seo slug

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

了解不同站点的段塞定位

在尝试了解如何创建更好的URL以方便用户而不牺牲SEO时,我正在研究不同网站的结构.我有一些与以下相关的问题:

  • 亚马逊 - >/typical-product-slug/dp/{id}

  • stackoverflow - >/questions/{id}/question-slug

  • yardsellr - > for_sale#!/ product-slug - {id}

[1]为什么亚马逊将域名放在域名后面就像stackoverflow那样使它更容易理解并提供目录结构?此外,将{id}保持在最后会使其更容易出现剪切错误.

[2]亚马逊和stackoverflow对{id}的定位是否与亚马逊的{id}是字母数字和stackoverflow的数字有关?也许字母数字对于用户来说更加神秘,因此亚马逊将其置于最正确的位置,从SEO的角度来看?

[3]对于亚马逊来说,没有使用关键词'产品',甚至像'书籍'或'音乐'这样的高级别类别代替'dp'会使SEO更有效?

[4] yardsellr for it的尾随{id}不使用'/'而是' - '作为标记.Google表示URL dir结构的深度并不重要.什么是受益于这种结构的码头,它只是因为slu and和id既独特又相同?这与深度有关吗?如果他们已将id放在slug之前,这是否会影响SEO?

我知道大多数这些都没有直接的答案.寻找你的经验和想法,以便我可以学习.

谢谢.

url seo friendly-url slug

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

根据Wordpress中的自定义字段值批量重写post slugs

基本上我有一个名为"Parts"的自定义帖子类型设置,目前有超过5,000个帖子.每个部件都有许多自定义字段,包括"部件号".目前,每个部分的URL是:

http://site.com/parts/name-of-part/

我宁愿拥有的是:

http://site.com/parts/XXXX-608-AB/(这是一个部件号,存储为自定义字段"partno".)

我相信我需要做两件事:

1)根据自定义字段"partno"制作一个脚本,以批量编辑每个现有部件的所有slug.

2)连接到Wordpress函数以触发它始终根据自定义字段"partno"为新零件创建slug.

有没有人知道如何完成这些方面中的一个或两个?

更新:以下是我最终用于更改现有帖子的代码

// Set max posts per query
$max = 500;
$total = 5000; 

for($i=0;$i<=$total;$i+=$max) {

$parts = get_posts(array('post_type' => 'parts', 'numberposts' => $max, 'offset' => $i));

    // loop through every part
    foreach ( $parts as $part ) {

    // get part number
    $partno = get_post_meta( $part->ID, 'partno', true );   

    $updated_post = array();
    $updated_post['ID'] = $part->ID;
    $updated_post['post_name'] = $partno;
    wp_update_post( $updated_post ); // update existing posts
    echo $part->ID;
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:以下是我在functions.php中用来更改正在发布的帖子的代码 (部分归功于 …

php wordpress slug custom-fields custom-post-type

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

Codeigniter - SEO友好的URL结构(Slug实现)


我想在codeigniter框架中开发一个网站,我可以通过slug访问任何网页.

例如,就像WordPress和Magento一样,我们可以通过www.sitename.com/category_type/category_detailpage访问类别页面,

我们也可以通过在主URI www.sitename.com/category_detailpage之后添加slug来直接访问Category_detail.

所以我的问题是,如果你在Codeigniter中有这个Slug目录的任何案例研究项目代码,我如何设计数据库中的slug表模式,请尽快告诉我.

提前致谢!

php wordpress codeigniter magento slug

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

Symfony:在我的文章URL中生成条形URL,而不是新闻ID

我想要一个这样的网址:

www.mysite.com/my-super-blog-post
Run Code Online (Sandbox Code Playgroud)

代替这个:

www.mysite.com/7
Run Code Online (Sandbox Code Playgroud)

其中“ 7”是我的News对象的id属性。

当我在Symfony文档中看到时,我认为我需要使用以下代码行:

$this->generateUrl('blog_show', array('slug' => 'my-blog-post'), UrlGeneratorInterface::ABSOLUTE_URL);
Run Code Online (Sandbox Code Playgroud)

这样对吗 ?我不明白的是,我需要在哪里使用那行代码?在我的NewsController.php文件中?

或者,也许您可​​以给我一个链接以了解解决方案。

routing doctrine slug symfony

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