【问题标题】:.htaccess url masking.htaccess 网址屏蔽
【发布时间】:2011-11-16 00:55:48
【问题描述】:

我有几个 wordpress 网址我想简化以用于 SEO 目的。我有 http://www.example.com/fr/product-fr/review-fr/

我想将其更改为 http://www.example.com/fr/product/review/(删除 -fr),但不更改内部 URL。因此用户将访问http://www.example.com/fr/product/review/,但服务器将提供http://www.example.com/fr/product-fr/review-fr/ 的内容。

我想这样做是为了解决 Wordpress 和 WPML 的 URL 问题。

感谢帮助

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    你试过mod_rewriteRewrite rules吗?

    试试:

    ^/([a-zA-Z]{2})/([^\/]+)/([^\/]+)/$    /$1/$2-$1/$3-$1
    

    虽然没有测试过..

    【讨论】:

    • 是的,但无法进行任何工作。这是一个简单的例子,我正在尝试 RewriteRule ^about/$ about-es/ 这应该服务于 www.example.com/es/about-es/ 但用户会看到 www.example.com/es/about/ 作为 url .
    • 它不起作用 :( 再次感谢您的帮助,但我在访问 example.com/es/about 时仍然得到 404@
    【解决方案2】:

    假设两个字母的语言代码在整个 URL 中始终保持不变:

    RewriteEngine on
    RewriteRule ^([A-Za-z]{2})/product/review$    /$1/product-$1/review-$1 [L,QSA]
    

    应该是一种享受:)

    附:正则表达式采用任何两个字母的代码(大写或小写),因此可以在您需要时与其他语言一起使用。

    【讨论】:

    • 感谢您的帮助,但没有成功。我为我的 wordpress 安装尝试了以下方法。我在我们的关于页面上使用了它。问题是我需要它比这更通用一点。它适用于 wordpress 安装中的每一页。再次感谢。 RewriteEngine On RewriteRule ^([A-Za-z]{2})/about$ /$1/about-$1 [L,QSA] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !- f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule 。 /index.php [L]
    猜你喜欢
    • 1970-01-01
    • 2015-07-20
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    相关资源
    最近更新 更多