Apache 我的mod_重写规则有问题吗?

Apache 我的mod_重写规则有问题吗?,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我用这个: RewriteRule ^(.+)/?$ index.php?slug=$1 [L] 要更改用户所看到的内容,请执行以下操作: example.com/hello/world example.com/index.php?slug=hello/world 服务器所看到的内容: example.com/hello/world example.com/index.php?slug=hello/world 但它不起作用。我知道.htaccess本身是有效的,因为我已经尝试了其他更简

我用这个:

RewriteRule ^(.+)/?$ index.php?slug=$1 [L]
要更改用户所看到的内容,请执行以下操作:

example.com/hello/world
example.com/index.php?slug=hello/world
服务器所看到的内容:

example.com/hello/world
example.com/index.php?slug=hello/world
但它不起作用。我知道.htaccess本身是有效的,因为我已经尝试了其他更简单的规则,我在其他地方也使用过,它们工作得很好。这个有什么问题吗


谢谢大家!

如果文件或目录实际存在,则不处理该规则。这将防止规则作用于
index.php
,并导致重写循环。它还可以防止它影响您的静态内容(css、js、图像)


注意,根据注释,添加了
[QSA]
,以确保在重写过程中保留现有的查询字符串参数。

什么不正常?你有重写循环吗?(看起来像index.php上的重写循环)您是否有
RewriteCond
来阻止规则在index.php之类的现有文件/dir上工作?@Michael Err,不,我没有。看来有可能!你知道我该怎么做吗?你还应该添加QSA参数,比如
[L,QSA]