检测单段RewriteRule apache

时间:2013-04-14 02:32:46

标签: php apache url-rewriting

我陷入了一个非常基本的问题,我尝试将单个网址重定向到网页

RewriteRule /([A-Za-z0-9]+)$ index.php?c=profile&val=$1 [NC,L]

这适用于像

这样的网址
sitename.com/myurl

但问题是它也适用于像

这样的URL
sitename.com/myurl/something

  sitename.com/myurl/something/x/y/z

我希望它仅适用于主机名后的单个段,如果我在开始时使用^符号它根本不起作用

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

您仍然必须使用^,但必须忽略前导/

 RewriteRule ^([A-Za-z0-9]+)$ index.php?c=profile&val=$1 [NC,L]

为了与较旧的mod_rewrite版本兼容,您经常会看到^/?这样的习语。但是当前的Apaches mod_rewrite已经剥离了前导斜杠(来自REQUEST_URI,主要是RewriteRules操作)。