我试图让mod_rewrite将所有非文件请求重定向到index.php
,以便我可以处理干净URL的路由。mod_rewrite现有的目录更改地址栏中的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 /
来改善此问题。但是,这会将所有网址指向尾部的斜杠。没什么大不了的,但不是我想要的。
如果,例如,/test/folder
存在,我直接去,我想地址栏显示,而不是显示/test/folder/
或/test/folder/?request=/test/folder
。
不错。这里有另外一个很好的[链接](http://www.askapache.com/htaccess/mod_rewrite-variables-cheatsheet.html)来加入书签。 – jerdiggity