mod_rewrite使/ abc转到index.php?name = abc

时间:2011-02-25 19:04:04

标签: php mod-rewrite

我需要符合此标准的网址:

www.domain.com/abc

重写为:

www.domain.com/index.php?name=abc

我可以在最后一个字母固定的地方这样做:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*).htm$ index.php?name=$1

这意味着www.domain.com/abc.htm将访问www.domain.com/index.php?name=abc

但我需要它没有.htm(或abc之后的任何东西)

可以这样做吗?我花了一些时间试图找到解决方案,但到目前为止还没有成功。

感谢您的期待。

乔恩

2 个答案:

答案 0 :(得分:1)

我通常使用RewriteRule ^(.*)$ index.php?name=$1

我不完全确定您的标准,但这会将所有内容发送到PHP脚本。

如果你只想重写路径的第一部分,即。 / abc但不是abc / def或abc /我可以为你改变它。

答案 1 :(得分:1)

试试这个:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+) /index.php?name=$1 [L]