带有参数的长URL的RewriteRule /如何美化它们?

问题描述

| 在过去的几周中,我已经阅读了有关RewriteRules的所有内容。 你是我的不得已:D 我只是没有任何工作(是的,重写引擎已打开,简单的东西也可以工作)。 我的网站网址如下所示:
http://www.videospielkalender.de/?platform=wii&setfilter=1&dates=2
我想要这样的结果
http://www.videospielkalender.de/wii/price/nextweek/
而已。 我希望这里的一些天才能够使我朝正确的方向前进。 谢谢大家 奥立佛     

解决方法

http://wiki.apache.org/httpd/RewriteQueryString上的最后一个食谱是开始的地方。在上述特定情况下,您想要执行以下操作:
RewriteRule ^/?([^\\]+)/([^\\]+)/([^\\]+)/? /?platform=$1&setfilter=$2&dates=$3
但是,此解决方案有两个相当明显的问题。他们是: 如何将“价格”映射为“ 1”,如何将“下周”映射为“ 2”?也许这是您的处理程序/脚本/需要做的足够聪明的事情 您的网站上的其他URI(图片,css,js等)也可能会被此规则集捕获,这可能会破坏内容。 这两个条件都可以通过以下方式解决: 使脚本足够智能以处理参数 和 根本不要使用mod_rewrite。而是使用: FallbackResource /index.php (或您的根处理程序/脚本所调用的任何内容),并让该脚本/处理程序直接智能地操作PATH_INFO。 请记住,关于mod_rewrite的最重要的事情是知道何时避免使用它。     ,您可以使用此通用规则将后一个URL路径重写为前一个:
RewriteRule ^/([^/]+)/([^/]+)/([^/]+)/$ /?platform=$1&setfilter=$2&dates=$3
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...