如何在htaccess中重写任何类型的字符串?

时间:2017-03-22 08:32:26

标签: regex .htaccess routing

我正在研究一个简单的路由系统,我需要创建一个RewriteRule,其中包含一切(没有异常作为查询参数传递给我的主php文件。

然而,^(。+)$和^(。*)$似乎不起作用。使用它们返回的唯一内容是'/index.php'。

唯一可行的似乎是^([a-zA-Z0-9 / _-] *)$等,但问题是:我希望这个表达式匹配所有Unicode字符,而我假设手动完成此操作的表达式将非常缓慢且不优雅。

那么......为什么这些明显的表达方式不能正常运作?

提前致谢。

RewriteEngine on
RewriteRule ^(.*)$ index.php?path=$1 [L,QSA]

1 个答案:

答案 0 :(得分:0)

您可以使用此规则:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php?path=%{REQUEST_URI} [L,QSA]