mod重写规则将域之后的所有内容转换为get查询字符串

时间:2011-05-19 02:28:21

标签: .htaccess mod-rewrite

我需要一些有关htaccess文件中重写规则的帮助。我希望在域之后的所有内容,在第一个斜杠被重写以获取查询字符串之后。

如果您查看mod rewrite everything after domain into get

这几乎是我想要的,除了我相信我的一条规则(重写文件有一个php扩展名)干扰了链接的解决方案。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

如何将链接的解决方案与此重写集成?

1 个答案:

答案 0 :(得分:4)

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?query=$1 [L]

英文版:如果文件或目录不存在,请使用$ _GET ['query']中的查询字符串重写为index.php。

为了获得更大的灵活性,您也无法使用htaccess将请求uri传递给GET,只需直接从$ _SERVER ['REQUEST_URI']中读取它。