php - 为 seo 优化和 google 引用重写 url

标签 php mysql regex apache .htaccess

我有一个 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 因为标题对于每个目录都是唯一的。 我花了很多时间试图去除行号但无济于事,所以我准备放弃。这就是为什么我把它放在最后。但我希望工作--消失。

最佳答案

这条规则应该有效:

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

关于php - 为 seo 优化和 google 引用重写 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20357982/

相关文章:

MySQL数据库设计优化

正则表达式 - 选择不完全或部分匹配的词

php - JOIN中如何返回主表内容?

javascript - 停止将大型数组的数组转换为对象

php在for循环中将数据插入sql

java - 以编程方式配置 Hibernate - 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

php - 允许非强制字段接受 NULL 值是一个好习惯吗? mysql

java - 正则表达式匹配重复模式,一个字符后跟一个空格

r - Stringr - 删除连字符两侧的前导零

php - 如何在laravel 5.1中访问子函数内父函数的参数