我有以下重写规则:
RewriteRule ^(.*)/(.*)$ /?page=$1&id=$2 [L,QSA]
但我希望id
参数是可选的...我该如何编写规则?
RewriteRule ^(.*)$ /?page=$1 [L,QSA]
RewriteRule ^(.*)/(.*)$ /?page=$1&id=$2 [L,QSA]
不起作用。
答案 0 :(得分:0)
从重写本身的角度来看,你自己的尝试看起来很好。你声称"没有工作"我们没有什么可以争论的,但它也没有真正帮助,因为它没有说明完全的含义。
假设一般重写 为你工作而你只得到错误的(不受欢迎的)结果我会建议稍微改变一下规则集:
$(document).ready(function() {
function onSelect(e) {
if ("#DeviceType" in window) {
if (e.item) {
var dataItem = this.dataItem(e.item);
kendoConsole.log("event :: select (" + dataItem.text + " : " + dataItem.value + ")");
} else {
kendoConsole.log("event :: select");
}
}
}
debugger;
});
一般提示:您应该始终更喜欢将此类规则放在http服务器(虚拟)主机配置中,而不是使用动态配置文件(RewriteEngine on
RewriteRule ^/?([^/]+)/?$ /?page=$1 [L,QSA]
RewriteRule ^/?([^/]+)/([^/]+)/?$ /?page=$1&id=$2 [L,QSA]
样式文件)。这些文件非常容易出错,难以调试,它们确实会降低服务器的速度。只有在您无法控制主机配置(读取:非常便宜的托管服务提供商)或者您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦)的情况下,它们才被支持作为最后一个选项。 )。