【问题标题】:mod rewrite rules - SEO friendlymod重写规则 - SEO友好
【发布时间】:2010-08-22 23:02:05
【问题描述】:

我制作了一个脚本 .. 我想让所有的 url 都对 seo 友好 ..

我当前的 php 网址是:

index.php?lang=ar&option=a&option_m=band variable option&option_m are optional

所以我想把这个网址转换成

/ar/a/b

or

/ar/a

or

/ar

我想问一下页面是否有带有 GET 操作的表单,如何接受查询字符串并将其自动添加到 url 中.. 例如:

/ar/a/b/input1-value/input2-value

【问题讨论】:

    标签: php .htaccess mod-rewrite


    【解决方案1】:

    使用 mod_rewrite 实现 SEO URL 的目的是让您将网站上的所有链接实际更改为“漂亮”格式,然后制定一个简单的规则,可以将这个漂亮的规则转换回 query_string 版本。在您的情况下,您将使用与此类似的东西...

    RewriteEngine On
    RewriteBase /
    RewriteRule ^([a-zA-Z0-9-]+)/?$ index.php?lang=$1
    RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ index.php?lang=$1&option=$2
    RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ index.php?lang=$1&option=$2&option_m=$3
    

    然而,这显然要求始终在 option_m 之前包含选项,如果两者都是真正的可选,这意味着您可以在没有选项的情况下包含 option_m,那么单独使用 mod_rewrite 确实无法解决它。

    【讨论】:

    • 你好 .. 非常感谢 .. 好的,它帮助了我 .. 但是查询字符串和表单操作呢?用 seo 使它的 url 漂亮的方法是什么?
    • 我不明白这个问题。表单操作与任何其他链接相同。如果您的意思是如果表单设置为 GET,那么简单的答案是您不能这样做。您也许可以创建一个 hack,将查询字符串版本 301/302 转换为漂亮的版本,然后替换查询字符串版本,但会很hacky。
    猜你喜欢
    • 2015-01-04
    • 2015-06-30
    • 1970-01-01
    • 2015-03-25
    • 2019-10-31
    • 1970-01-01
    • 2010-11-13
    • 2012-05-13
    相关资源
    最近更新 更多