当前位置: 首页 > 面试题库 >

生成SEO友好的URL(段)

丁经国
2023-03-14
问题内容

来自维基百科:

蛞蝓 是识别使用人类可读关键字的页面的URL的一部分。

为了使URL易于用户输入,通常也删除或替换特殊字符。例如,带重音的字符通常被英语字母中的字母代替;标点符号通常会被删除;和空格(必须将其编码为%20或+)替换为破折号(-)或下划线(_),从美学上讲更令人愉悦。

语境

我开发了一个照片共享网站,用户可以在该网站上上传,共享和查看照片。

所有页面都是自动生成的,而我无需掌握标题。由于照片的标题或用户的名称可能包含重音字符或空格,因此我需要一个函数来自动创建标签并保持可读的URL。

我创建了以下函数,该函数替换带重音符号(âèêëçî),删除标点符号和不良字符(#@&〜^!)并以破折号转换空格。

问题

  • 您如何看待此功能
  • 您知道其他创建子弹的功能吗?

PHP”显示标记为“ php”的问题”):

function sluggable($str) {

    $before = array(
        'àáâãäåòóôõöøèéêëðçìíîïùúûüñšž',
        '/[^a-z0-9\s]/',
        array('/\s/', '/--+/', '/---+/')
    );
 
    $after = array(
        'aaaaaaooooooeeeeeciiiiuuuunsz',
        '',
        '-'
    );

    $str = strtolower($str);
    $str = strtr($str, $before[0], $after[0]);
    $str = preg_replace($before[1], $after[1], $str);
    $str = trim($str);
    $str = preg_replace($before[2], $after[2], $str);
 
    return $str;
}

问题答案:

似乎还可以,可能还不完整。查看http://code.google.com/p/php-slugs/中的代码示例。



 类似资料:
  • 当我在Liferay中创建页面(我使用的是6.2)时,它会收到一个自动生成的友好URL,遵循几个内部规则。 例如,如果我创建一个名为的页面,它将自动接收到友好的URL。 另外,如果我创建页面aaa作为页面

  • 问题内容: 我想将我的URL设置为SEO友好URL。我尝试通过重写规则编辑.htaccess文件 它路由正确的URL,但是在该页面中CSS JS和图像无法正常工作。 问题答案: 您不需要第二个重写规则。您的CSS / JS路径都相对于您当前的位置。 您所需要做的就是在CSS / JS路径之前加上“正斜杠”。

  • 我目前使用htaccess强制使用index.php文件。 在当前的网站上有一些上传的内容,如 > 上传/item/12.jpg 上传/item/13.jpg 我想重写它。 上传11.jpg 有人能帮我找到这个的和。 更新 更新的htaccess 这有助于我使URL看起来像 www.store45.loc/uploads-item-11-sample-watch.jpg

  • 问题内容: 我想将我的URL设置为SEO友好URL。我尝试通过重写规则编辑.htaccess文件 它路由正确的URL,但是在该页面中CSS JS和图像无法正常工作。 问题答案: 您不需要第二个重写规则。您的CSS / JS路径都相对于您当前的位置。 您的CSS存在于此处:/css/normalize.css 您的页面正在此处查看:/swift-details/2/abblinbb/css/norm

  • 我已经按照这个方法配置了使用JSF的spring boot工作,并且配置还可以,但是我需要使用pretty Faces在所有的JSF中去掉.xhtml后缀。到目前为止,我已经设法在Spring Boot中配置了PrettyFaces RewriteFilter,并在托管bean中添加了URLMapping,但它似乎不起作用,因为它得到了‘白标签错误页’。这是我的登录托管bean 和我的漂亮面孔配置

  • 问题内容: 如何在OpenCart中自定义系统URL?例如,我希望将http://example.com/index.php?route=checkout/cart显示为http://example.com/cart 我知道OpenCart为产品,类别,制造商和信息页面提供了SEO URL,但其他任何东西似乎都没有内置的东西(至少在1.5.0版之前)。 问题答案: 事实证明,可以通过相对简单的更改