关键词网站推广,湖北德升建站,广告传媒有限公司简介,做百度竞价用什么网站不#xff0c;这与引用的问题不完全相同。这里的问题特别是加号和Apache的答案#xff1a;mod_rewrite#xff1a;Spcaes#xff06;amp; URL中的特殊字符无法正常工作。斜杠也存在问题#xff0c;请参阅http://httpd.apache.org/docs/current/mod/core.html#allowencoded…不这与引用的问题不完全相同。这里的问题特别是加号和Apache的答案mod_rewriteSpcaesamp; URL中的特殊字符无法正常工作。斜杠也存在问题请参阅http://httpd.apache.org/docs/current/mod/core.html#allowencodedslashes(但你确实需要访问Apache配置来执行此操作 - .htaccess不会这样做)。事实上单独使用重写规则是不可能的。 Apache在重写之前对URL进行解码但它不理解加号http//example.com/ab.html不会传递一个名为的文件“a b.html”。加号被PHP解码为查询字符串的$ _GET数组(或任何相关的语言机制)因为浏览器中的表单处理程序将它们放入。所以Apache会在应用重写之前将2B转换为并保留它本身就是一个意思你无法区分它们。当然有人可能会争辩说用作空间的在这些URL中根本就是无效的而且应该只使用20。但是如果你无法控制生成它们你一定会看到它们。浏览器不会自动生成它们。答案是DIY在许多方面它更可预测和更简单RewriteRule。* index.php [L]因此一切都变成了index.php并且没有尝试构造查询字符串。如果您想要排除某些模式例如那些有斜杠的或者存在明确文件的那些明显的修改适用。例如RewriteCond{REQUEST_FILENAME} - f然后在index.php中$ uri substr($ _ SERVER [REQUEST_URI]1); //删除前导斜杠$ qmpos strpos($ uri); //是否有问号如果有的话if($ qmpos FALSE){$ uri substr($ uri0$ qmpos); } //仅在q.m之前的位$ decoding urldecode($ uri); //解码URL之前的部分if(empty($ decoding)){$ _GET [args] $ decoding; } //将结果添加到$ _GET解码原始请求(不包括前导斜杠 - 如果您在层次结构中更深层次会略有不同但原理相同 - 并排除任何其他查询字符串)并根据PHP的常规规则解码args参数将它放入$ _GET以便您可以通常的方式处理它与$ _GET查询字符串参数的其余部分。我认为这应该适用于空URL(http://example.com/)或仅包含查询字符串(http://example.com/?foo1)的URL以及简单的案例(http //example.com/bar)以及带有查询字符串的案例(http://example.com/bar?foo1)。毫无疑问类似的方法适用于其他语言。在您的特定情况下您实际上根本不希望在PHP中解码的优点。没关系请使用rawurldecode而不是使用rawurldecode。