【问题标题】:url rewriting a query stringurl重写查询字符串
【发布时间】:2012-01-18 05:33:45
【问题描述】:

我想修改 url,我只是想知道如何重写我的查询字符串类型的 url

http://localhost/folder/index.php?param1=value1&param2=value2&param3=value3 

进入

http://localhost/folder/value1/value2/value3

我有这个 htaccess 文件,请告诉我它是否正确

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^index/(w+)/(w+)/(w+)$ /index.php?param1=$1&param2=$2&param3=$3 [nc]

【问题讨论】:

    标签: url mod-rewrite query-string


    【解决方案1】:

    在 DOCUMENT_ROOT 的 .htaccess 文件中使用此代码:

    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{QUERY_STRING} !param1= [NC]
    RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ $1/index.php?param1=$2&param2=$3&param3=$4 [QSA,L]
    

    【讨论】:

    • 感谢回复,但我无法运行,因为它正在进行无限重定向循环。只是输入localhost/folder/value1/value2/value3 会显示结果吗?我忘了打电话给我的 param1 是全局变量,我直接通过 url 传递值,而其他参数是从数组中获取的。
    • 请检查我更新的答案(我添加了 RewriteCond 以防止循环)。是的,您需要输入http://localhost/folder/value1/value2/value3 进行测试。上面的 URL 将在内部加载 http://localhost/folder/index.php?param1=value1&param2=value2&param3=value3。
    猜你喜欢
    • 2011-08-02
    • 1970-01-01
    • 2014-08-07
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    相关资源
    最近更新 更多