【问题标题】:ModRewrite to nice URLModRewrite 到漂亮的 URL
【发布时间】:2013-02-08 21:44:21
【问题描述】:

我知道有很多这样的问题,但我真的找不到可以翻译成我需要的问题:

我正在尝试重写

www.domain.com/subfolder/index.php?p=test.php&condition=true&another=false

www.domain.com/subfolder/p/test/condition/true/another/false

PHP GET 变量可以是整数、字符串或布尔值。 p 变量是特殊的,并且会一直存在。

我试过了

RewriteEngine On
RewriteRule ^([^/]*)$ /subfolder/index.php?p=$1 [L]

作为部分解决方案,但我无法让它工作(我只是得到 404)

我是一个 Mod Rewrite 菜鸟,所以任何帮助都将不胜感激。

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    这更多地与正则表达式有关。如果没记错的话,你需要更多这样的东西:

    RewriteRule ^/subfolder/(.*)/(.*)/$ /subfolder/index.php?p=$1&condition=$2 [L]
    

    每个编号的参数必须对应于重写的第一部分的某些部分。即$1对应第一个(.*)

    我没有时间测试这个,但这个想法或多或少是正确的。

    【讨论】:

    • 谢谢,我试过了,还是不行。我不确定这是否是因为它被重写为本质上是服务器查找的文件名 test.php,而不是传递给 index.php。我确信 ModRewrite 可以在这台服务器上运行,因为我在同一台服务器上安装了 WordPress,并且运行良好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2018-10-05
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多