【问题标题】:url rewrite for seo optimization and google referencement用于 seo 优化和 google 参考的 url 重写
【发布时间】:2013-12-03 17:39:35
【问题描述】:

我有一个 catalogue.php 文件,其中包含通过 mysql 查询(行)到works.php 文件的链接。法语中的相同内容(sommaire.php 到 oeuvres.php)。 $img 是表格列中的标题,$i 遍历行并给出一个数字。 链接是这样创建的:

<? echo "<p><a href='work--".StandardizeString($img)."_".($i)."' >  
$img</a></p>";
$i++;
?>

然后我有一个重写规则:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^oeuvre--(.*)_(.*)$ oeuvres.php?&tittle=$1&page=$2 [L]
RewriteRule ^work--(.*)_(.*)$ works.php?&tittle=$1&page=$2 [L]

这会创建一个 url *sitename/work--title_linenumber* 我希望 url 是 *sitename/title_linenumber* 或理想情况下 sitename/title 因为每个目录的标题都是唯一的。 我花了很多时间试图去除行号,但无济于事,所以我准备放弃了。这就是为什么我把它放在最后。但我希望 work-- 消失。

【问题讨论】:

  • 为什么不简单地从 php 输出你想要的链接并避免处理重写?
  • 我很感兴趣。不知道如何在没有 mod rewrite 的情况下将 mysql 查询重写为 url。明天我也会研究这个解决方案。谢谢
  • 忽略我最后的评论。所以你正在尝试做一个双语网站?而您正在尝试删除 id?:您想要 mysite.com/work/title-of-workmysite.com/oeuvres/title-of-work 吗?
  • 是的,理想情况下,网址中没有 ID。目前,每个“艺术家”都有一个存储 php 文件的子目录。所以理想的 url 是 'mysite.com/artist/name-of-the-work。我目前拥有的是 mysite.com/artist/work--name-of-the-work_id.com 或法语版的“oeuvre”而不是“work”

标签: php mysql regex apache .htaccess


【解决方案1】:

这个规则应该有效:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)_(.*)$ works.php?&tittle=$1&page=$2 [L,QSA]

【讨论】:

  • 这条规则如何区分works.php和oeuvres.php?如果 a 也使用 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+?)_(.*)$ oeuvres.php?&tittle=$1&page=$2 [L,QSA] won'没有冲突吗?
  • 谢谢。我将尝试将我的 php 文件移动到单独的文件夹中,一个是法语,另一个是英语,以便我可以使用您的解决方案。我明天会发布我的结果
  • 我意识到,如果没有“工作”或“作品”这个词,我可能会有重复的网址(法文和英文名称相同,行号相同)。所以我决定将网址设为 mysite.com/artistname/work__work-name__00。最后一个问题:无论如何要摆脱那个可怕的尾随行号?我用唯一键创建了我的工作名称列,但没有行号就无法链接到它
  • 是的mysite.com/artistname/... 是个好主意。另外,但我没有收到您关于hideous trailing row number 的问题。您能否提供一些示例来说明您希望对规则进行哪些更改?
  • 我希望删除行号:mysite.com/artistname/work__work-name。我已经尝试了几次,但我永远无法正确解析网址。
猜你喜欢
  • 1970-01-01
  • 2013-09-11
  • 2013-07-04
  • 2014-11-11
  • 2012-09-30
  • 2013-04-18
  • 2012-07-17
  • 2011-12-01
  • 1970-01-01
相关资源
最近更新 更多