# SiteSetting.slug\_generation\_method = none인데 왜 내 사이트는 여전히 인코딩된 슬러그를 생성할까요?

**URL:** <https://meta.discourse.org/t/why-does-my-site-still-generate-encoded-slug-even-if-sitesetting-slug-generation-method-none/246496>\
**Category:** Bug\
**Created:** [11월 23, 2022, 4:39오전 UTC](https://meta.discourse.org/t/why-does-my-site-still-generate-encoded-slug-even-if-sitesetting-slug-generation-method-none/246496 "2022-11-23T04:39:43Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![topological](https://avatars.discourse-cdn.com/v4/letter/t/b487fb/32.png) [@topological](https://meta.discourse.org/u/topological)\
**Post date:** [11월 23, 2022, 11:43오전 UTC](https://meta.discourse.org/t/why-does-my-site-still-generate-encoded-slug-even-if-sitesetting-slug-generation-method-none/246496/2 "2022-11-23T11:43:31Z")

</div>

또 다른 문제는 인코딩된 슬러그를 가진 주제에 진입할 수 없다는 것입니다. 이 경우 ERR\_TOO\_MANY\_REDIRECTS 오류가 발생합니다. SiteSetting.slug\_generation\_method를 none으로 설정한 후 생성되는 주제는 이러한 인코딩된 슬러그를 가지게 됩니다.

로그는 다음과 같이 표시됩니다.

```plaintext
Started GET "/t/%E6%88%91%E4%B9%9F%E8%83%BD%E6%89%BE%E5%88%B0%E5%B1%9E%E4%BA%8E%E6%88%91%E7%9A%84%E9%98%B3%E5%85%89%E5%A4%A7%E7%94%B7%E5%AD%A9%E5%90%97/112562/39" for 10.182.185.76 at 2022-11-23 19:35:09 +0800
  Rendered text template (Duration: 0.0ms | Allocations: 1)
Processing by TopicsController#show as HTML
  Parameters: {"slug"=>"我也能找到属于我的阳光大男孩吗", "topic_id"=>"112562", "post_number"=>"39"}
Redirected to https://my-domain/t/%E8%BF%98%E6%9C%89%E4%B8%8D%E5%88%B040%E5%A4%A9%EF%BC%8C2022%E5%B9%B4%E5%B0%B1%E7%BB%93%E6%9D%9F%E4%BA%86%EF%BC%8C%E8%AF%B7%E7%94%A8%E4%B8%80%E4%B8%AA%E5%AD%97%E6%88%96%E8%80%85%E8%AF%8D%E8%AF%AD%E6%9D%A5%E8%AF%84%E4%BB%B7%E5%AE%83%E5%90%A7/112489
Completed 301 Moved Permanently in 176ms (ActiveRecord: 0.0ms | Allocations: 19880)

```

코드를 읽어보니, `%E6%88%91%E4%B9%9F%E8%83%BD%E6%89%BE%E5%88%B0%E5%B1%9E%E4%BA%8E%E6%88%91%E7%9A%84%E9%98%B3%E5%85%89%E5%A4%A7%E7%94%B7%E5%AD%A9%E5%90%97` != `我也能找到属于我的阳光大男孩吗`이기 때문에 `slugs_do_not_match`가 true를 반환하는 것 같습니다. 이로 인해 리다이렉트가 발생합니다.

```plaintext
  def slugs_do_not_match
    if SiteSetting.slug_generation_method != "encoded"
      params[:slug] && @topic_view.topic.slug != params[:slug]
    else
      params[:slug] && CGI.unescape(@topic_view.topic.slug) != params[:slug]
    end
  end

```

따라서 문제는 동일합니다. 즉, SiteSetting.slug\_generation\_method가 이미 none으로 설정되어 있는데 왜 제 사이트는 인코딩된 슬러그를 생성하는가 하는 것입니다.

---

_[View the full topic](https://meta.discourse.org/t/why-does-my-site-still-generate-encoded-slug-even-if-sitesetting-slug-generation-method-none/246496)._
