【问题标题】:Form submission error with htaccess rules带有 htaccess 规则的表单提交错误
【发布时间】:2014-04-23 04:56:00
【问题描述】:

我在主页 index.php 上有表单,它在提交 url 后将变量传递给页面 search.php 看起来像 justdlal.com/search/Computer-Hardware/Delhi

在同一页面中,我有两个输入城市和关键字的相同表单,但提交后必须转到类似
justdlal.com/search/laptop/Delhi
的网址 而是将搜索查询附加到当前网址,例如 justdlal.com/search/Computer-Hardware/search.php?keyword=laptop&city=Delhi

我的 htaccess 代码

RewriteEngine on
RewriteBase /
RewriteRule "^(search)/([^+]*)\++([^+]*\+.*)$" /$1/$2-$3 [L,NC]
RewriteRule "^(search)/([^+]*)\+([^+]*)$" /$1/$2-$3 [L,R=301,NE,NC]

RewriteCond %{THE_REQUEST} \s/+search\.php\?keyword=([^&]+)&city=([^\s&]+) [NC]
RewriteRule ^ /search/%1/%2? [R=301,L,NE]

RewriteRule ^search/([\w-]+)/([\w-]+)/?$ /search.php?keyword=$1&city=$2 [L,QSA]

【问题讨论】:

    标签: forms .htaccess redirect


    【解决方案1】:

    试试这些规则:

    RewriteEngine on
    RewriteBase /
    RewriteRule "^(search)/([^+]*)\++([^+]*\+.*)$" /$1/$2-$3 [L,NC]
    RewriteRule "^(search)/([^+]*)\+([^+]*)$" /$1/$2-$3 [L,R=301,NE,NC]
    
    RewriteCond %{THE_REQUEST} /search\.php\?keyword=([^&]+)&city=([^\s&]+) [NC]
    RewriteRule ^ /search/%1/%2? [R=301,L,NE]
    
    RewriteRule ^search/([\w-]+)/([\w-]+)/?$ /search.php?keyword=$1&city=$2 [L,QSA]
    

    【讨论】:

    • 带斜线的表单操作已解决...
    • 是的,我没有修改 htaccess,当我将“/search.php”放入表单操作而不是“search.php”时,它可以正常工作
    猜你喜欢
    • 2013-02-08
    • 2013-03-30
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 2016-09-14
    • 2019-12-01
    • 2011-12-20
    • 1970-01-01
    相关资源
    最近更新 更多