【发布时间】:2012-12-02 17:46:45
【问题描述】:
谁能告诉我我到底做错了什么?
试图采取:
search.php?key=23&category=testing
然后制作:
/23/testing.html
用这个:
RewriteRule ^([^/]*)/([^/]*)\.html$ /?key=$1&category=$2 [L]
对于我的生活,我无法弄清楚......或者如果有更好的方法,请指出正确的方向。
** 更新
好的,在放弃这个之后,我终于联系了托管公司,看看我的域是否有问题导致它无法正常工作。这是他们告诉我的:
你没有重写条件,你只有一个简单的重写。为了让代码>始终正常工作,您通常应该使用有效模式设置“RewriteCond”。
您使用过“?”您的代码中的问号字符虽然这是一个转义 > 字符,这样做只会导致基于您的代码重写 index.php 作为 >问号被转义后的所有内容。
请考虑在您的代码中使用“RewriteCond”,并使用正则表达式正确转义>“?”性格,避免意外行为。
谁能帮帮我?谢谢!
【问题讨论】:
-
确保将 R 放入参数 [L,R] 中。我通常构建一个快速的自定义 MVC 并让每个请求都通过 index.php。这样我就可以编写出我的永久链接。
-
仍然没有骰子。我不需要对我的 PHP 文件做任何其他事情吗?我可以得到一个简单的 hmtl 重定向来工作,所以我知道路径等正在工作......但对于我的生活,我无法弄清楚为什么这不起作用..
-
重写规则应该以^/开头我相信。
标签: php apache mod-rewrite