我正在尝试让 mod_rewrite 将所有不是文件的请求重定向到,index.php
以便我可以处理干净 URL 的路由。
<IfModule mod_rewrite.c>
RewriteEngine On
# Route requests to index.php for processing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?request=$1 [QSA,L]
</IfModule>
出于某种原因,当我访问没有尾部斜杠的现有目录时,地址栏会重新包含尾部斜杠和查询字符串,这不是很干净。
我可以通过将 RewriteRule 更改为^(.+)/$
并添加RewriteBase /
. 但是,这会将所有 URL 指向一个带有斜杠的 URL。没什么大不了的,但不是我想要的。
例如,如果/test/folder
存在并且我直接转到那个,我希望地址栏显示它,而不是显示/test/folder/
or /test/folder/?request=/test/folder
。