【问题标题】:Htaccess rewrite rule php link not working WordpressHtaccess重写规则php链接不起作用Wordpress
【发布时间】:2015-09-01 06:09:41
【问题描述】:

我对 .htaccess 重写功能进行了一些搜索,但找不到任何带有 html 参考的示例。

我正在尝试从我的 example.com/products/category/ 链接重定向到另一个页面。 这是我希望 .htaccess 文件重定向的链接:

    <a href="example.com/products/category/?category=bathroom">

我想实现这种风格:

    example.com/products/category/bathroom/

这是我的 .htaccess ReWriteRule:

    RewriteRule ^products/([A-Za-z0-9-]+)/?$    /products/category.php/?category=$1    [L]    # Process category

请注意,我对两者都使用了两个不同的 php 页面。 page-category.phpcategory.php

我把它放在后面

    RewriteEngine On
    RewriteBase /

但它仍然不起作用..当我尝试一些组合时唯一发生的事情,它抛出了一个内部服务器错误。我的正则表达式有问题还是我没有正确链接?

编辑:我正在使用 wordpress,我忘了提及,抱歉。

【问题讨论】:

    标签: php regex apache .htaccess mod-rewrite


    【解决方案1】:

    你需要使用Redirect 301

    RedirectMatch 301 ^example.com/products/category/?category= /example/home/page-category.php

    或者你可以使用 mod_rewrite 代替:

    RewriteEngine On
    RewriteRule ^example/products/category/?category= /example/home/page-category.php [L,R=301]
    

    你可以对另一个文件做同样的事情。

    【讨论】:

      【解决方案2】:

      我从您的问题中了解到,您在类别目录 .htaccess 文件中需要这样的内容

       RewriteEngine On
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule (.*) category.php?category=$1 [QSA]
      

      现在任何不是目录或类别目录中的文件都将被重写,例如 /category/bathroom 将被重写为(无重定向)/category.php?category=bathroom

      【讨论】:

      • 我忘了说我使用的是 Wordpress。这是我应该告诉的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多