如何使mod_rewrite抑制处理更多规则?

Wil*_*lco 4 apache .htaccess mod-rewrite

鉴于我当前的.htaccess文件,如何修改它以检查其他URL路径,如'/ src/pub/'并将其重写为'/ '而不影响当前的重写?

这是原始的.htaccess文件:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)

这是我最近的尝试(不起作用):

RewriteEngine on

RewriteRule ^/src/pub/(.*)$ /$1 [R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)

编辑:以下是我想要完成的一些示例:

新附加规则:

From:  http://www.mysite.com/src/pub/validfile.php
To:    http://www.mysite.com/validfile.php

From:  http://www.mysite.com/src/pub/user/detail/testuser
To:    http://www.mysite.com/user/detail/testuser
Run Code Online (Sandbox Code Playgroud)

现有规则(已经工作):

From:  http://www.mysite.com/user/detail/testuser
To:    http://www.mysite.com/index.php?route=user/detail/testuser
Run Code Online (Sandbox Code Playgroud)

Tim*_*imB 5

我猜测问题是第一条规则正在重写URL,然后第二条规则再次重写.

解决方案是将"last"标志添加到第一个规则,如下所示:

RewriteRule ^/src/pub/(.*)$ /$1 [R,L]
Run Code Online (Sandbox Code Playgroud)