我正在写一个mod_rewrite规则,并希望一只手使它做我想做的事。正则表达式来匹配任何不以某个字符串开头的东西
基本上我想有下列情形的工作:
request | Redirect to
---------------------
cheese | /?page=cheese
abc123 | /?page=abc123
abc/def | /?page=abc/def
a/b/c/d | /?page=a/b/c/d
(任何字母数字加 - /和_重定向)
有两个特殊情况:
request | Redirect to
------------------------
admin | don't redirect
media | don't redirect
有了这两个我不希望任何子目录等重定向。
我得尽可能:
RewriteRule ^([A-Za-z0-9-_]+)/$ /index.php?page=$1 [L]
但这仅满足前两个测试。
任何想法?
酷 - 不知道破折号!似乎访问/ admin /不会与/admin/index.php(它没有任何重写规则...) – 2010-10-27 07:29:58
/admin/going在哪里?你有两个index.html和index.php位于/ admin?如果你这样做,index.html出现在索引之前。php的Apache的DirectoryIndex配置指令,这可能会导致问题。 – 2010-10-27 15:56:04