mod_rewrite RewriteCond匹配根目录+文件名

时间:2017-04-15 04:24:09

标签: php apache .htaccess mod-rewrite

我无法转换以下链接

http://example.com/test              

http://example.com/pages.php?p=test

但不转换以下链接

http://example.com/foo/test (http://example.com/foo/pages.php?p=test)
http://example.com/bar/test (http://example.com/bar/pages.php?p=test)

我目前的设置是:

RewriteCond %{DOCUMENT_ROOT}/$1 !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php !-f
RewriteCond %{REQUEST_URI} ^/$1$
RewriteRule ^([^\.]+)$ pages.php?p=$1 [NC,L]

我似乎遇到了上一个RewriteCond (RewriteCond %{REQUEST_URI} ^/$1$)似乎无法检测到网址更改的问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

要将 / test 转换为 /pages.php?p=test ,您可以使用以下规则:

 RewriteEngine on
 RewriteRule ^([^/.]+)$ /pages.php?p=$1 [NC,L]