mod_rewrite - 为clean url和unclean url编写正则表达式

时间:2013-01-09 22:36:49

标签: php apache mod-rewrite

如果我有一个mod重写代码如下:

RewriteRule ^/(\w+)/?$ index.php?id=$1  

我是mod-rewrites的新手,我想知道用户是否输入了一个干净的网址而不是一个不干净的网址,例如。

http://example.com/1000/

进入浏览器而不是

http://example.com/index.php?id=1000

我仍然可以请求$ _GET []变量1000吗?

谢谢大家。

2 个答案:

答案 0 :(得分:0)

试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/? index.php?id=$1           [L,QSA]

答案 1 :(得分:-1)

我使用RewriteRule ^/(\w+)/?$ index.php?id=$1就像你一样......我向你保证它有效..你启用了Mod Rewrites吗?

$ sudo a2enmod rewrite
$ sudo service apache2 restart