我正在研究一个简单的路由系统,我需要创建一个RewriteRule,其中包含一切(没有异常作为查询参数传递给我的主php文件。
然而,^(。+)$和^(。*)$似乎不起作用。使用它们返回的唯一内容是'/index.php'。
唯一可行的似乎是^([a-zA-Z0-9 / _-] *)$等,但问题是:我希望这个表达式匹配所有Unicode字符,而我假设手动完成此操作的表达式将非常缓慢且不优雅。
那么......为什么这些明显的表达方式不能正常运作?
提前致谢。
RewriteEngine on
RewriteRule ^(.*)$ index.php?path=$1 [L,QSA]
答案 0 :(得分:0)
您可以使用此规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php?path=%{REQUEST_URI} [L,QSA]