gpt4 book ai didi

url - 如何将查询参数修改为路径文件夹名称?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:34 25 4
gpt4 key购买 nike

我正在使用 url-rewriting 进行我的第一步,但无法使以下操作正常工作:

在我的应用程序中,可以通过将查询参数 ?skin=some_id 应用于应用程序中的任何页面来加载皮肤。我想改变:

 http://www.mysite.com/anypage.html?skin=123

进入:

 http://www.mysite.com/123/anypage.html

但我无法让它工作。

这是我目前在我的 httpd.conf 中的内容:

<IfModule mod_rewrite.c>
RRewriteRule (.*)/(.*)?app=(.*)$ %1/%3/%2 [NC,R=301,L]
</IfModule>

问题:
这不起作用,所以我想知道我做错了什么?

此外,对于生效的 URL,用户输入的 URL 是什么? http://www.mysite.com/123/anypage.html “映射”到 http://www.mysite.com/anypage.html?skin=123?

如果我想访问查询参数,我是否必须从实际 url (?skin=...) 或重写的 URL 中提取它?

感谢您的帮助!

编辑:
所以我有点像这样工作(有用的测试人员 here ):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} skin=(\w+)
RewriteRule ^.*\.html /%1? [R=301]
</IfModule>

这将重定向:

 www.some.com/index.html?skin=xyz   =>  www.some.com/xyz

还没有。

最佳答案

我建议以不同的方式为您的应用程序设计外观。您现在拥有它的方式会导致搜索引擎出现重复内容问题,因为对于您拥有的每种皮肤,他们会在您网站上的每个页面上看到相同的内容。

也就是说,yoursite.com/dark/about.htmlyoursite.com/spring/about.html 的内容相同,因此搜索引擎可能具有很难决定使用哪个版本。此外,它似乎会为链接到您网站上的其他页面创建额外的工作,因为您必须以编程方式创建链接才能使用正确的路径和外观。

我只需要一个用于激活皮肤的 URL,并将他们的偏好存储在 cookie 或 session 中,并根据 cookie/ session 值为网站设置皮肤,并且只维护一组 URL。

除非您真的希望皮肤位于 URL 中,否则我会避免使用 URL 或查询字符串来指示要使用的皮肤。而是让它成为附加到帐户或存储在 cookie 中的首选项。

关于url - 如何将查询参数修改为路径文件夹名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16472401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com