将平面网址重写为参数

时间:2014-03-14 12:45:55

标签: php regex apache .htaccess mod-rewrite

我在这上面阅读了很多帖子,但到目前为止我无法做任何工作(或理解)。让我先问一些可能已经回答的问题。

我有个性化的网址(fx。http://www.somedomain.com/someword),我需要将其转换为http://www.somedomain.com/test.php?name=someword

参数(someword)基于人名,意味着没有文件结尾(如.html)

我尝试了一些htaccess的重写,但不管怎样,我得到'内部服务器错误',例如:

RewriteEngine On
RewriteRule   ^(.+)$   test.php?name=$1   [L]

感谢任何帮助。

干杯

汉斯

1 个答案:

答案 0 :(得分:1)

您的规则正在循环,因为.+在重写后也匹配URI。

试试这个:

RewriteEngine On

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