我想重定向不存在的文件/目录的流量,但是我的路由器对具有两个文件名的uri做一些奇怪的事情。因此,我想显式更改uri示例:
https://example.com/testsite/index.php
=> https://example.com/testsite?returnPath=/index.php
然后在内部,我将重定向到https://example.com/new/index.php/testsite
我的根结构如下:
-web:
.htaccess
-new:
index.php
我的htaccess文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} !returnPath=*
RewriteRule ^([A-Za-z]*)/(.*)$ /$1?returnPath=/$2 [QSA,NC,R=302,L] #explicit redirect (what other flags do I use here?)
RewriteCond %{REQUEST_URI} !-d
RewriteRule (.*) /new/index.php/$1 [QSA,L,NC]
显然,在第一个规则中留在L
标志中将写入重定向,而不处理任何其他规则。
但是不进行处理,它也会处理第二条规则,但不会更改显示的uri