【问题标题】:mod rewrite url with two url parametersmod用两个url参数重写url
【发布时间】:2013-12-05 05:19:13
【问题描述】:

我有这个网址:

http://localhost/listing-video.php?q=php+course+online&page=1

我需要这样改:

http://localhost/php-course-online/1

我在我的 .htaccess 中添加了这段代码但没有成功:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)?$ listing-video.php?q=$1&page=$2 [L]

非常感谢任何帮助

【问题讨论】:

    标签: php regex .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    您的正则表达式看起来不正确。

    试试这个规则:

    # replace - by +
    RewriteRule ^([^-]*)-(.*)$ $1\+$2 [L]
    
    # rewrite to /listing-video.php
    RewriteRule ^videosearchengine/([^/-]+)/([^/-]+)/?$ listing-video.php?q=$1&page=$2 [L,QSA,NE]
    

    这将重写为:/listing-video.php?q=php+course+online&page=1

    【讨论】:

    • 是放在DOCUMENT_ROOT/.htaccess吗?
    • 在 DOCUMENT_ROOT 中是。我在listing-video.php RewriteRule ^([^/-]+)/([^/-]+)/?$ listing-video.php?q=$1&page=$2 [L,QSA,NE ] 我得到 php 错误:atal 错误:调用非对象上的成员函数 fetch_assoc()
    • 该错误来自您的 php 代码。我建议你先做print_r($_GET) 看看你在那里得到了什么价值。
    • 好的,我用你的代码解决了 php 错误,url 只能这样工作:videosearchengine/php+course+online/1 但我需要这样:videosearchengine/php-course-online/1
    • 难以置信,现在我收到了这个奇怪的重定向localhost/C:/xampp/htdocs/videosearchengine/php+course-online/1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    相关资源
    最近更新 更多