Regex 基于目录和子目录的htaccess重定向

Regex 基于目录和子目录的htaccess重定向,regex,apache,.htaccess,mod-rewrite,redirect,Regex,Apache,.htaccess,Mod Rewrite,Redirect,我有一个特殊的情况,我找不到一个好的解决办法。我已经在这里看到了几十个问题/答案,但似乎没有一个能解决我的问题 我有这样一个url: https://subdomain.domain.com/{user name}/{app name}/ “用户名”和“应用程序名”可以随时更改,我需要将其重定向到 index.php?u={user name}&a={app name} 但是如果url只是https://subdomain.domain.com/{user name}/我需要将其重定向到 sto

我有一个特殊的情况,我找不到一个好的解决办法。我已经在这里看到了几十个问题/答案,但似乎没有一个能解决我的问题

我有这样一个url:
https://subdomain.domain.com/{user name}/{app name}/

“用户名”和“应用程序名”可以随时更改,我需要将其重定向到
index.php?u={user name}&a={app name}

但是如果url只是
https://subdomain.domain.com/{user name}/
我需要将其重定向到
store list.php?u={user name}
(显示该用户所有可用应用程序的列表)

My.htaccess当前是这样的:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /store-list.php?u=$1 [L]
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?u=$1&a=$2 [L]
在这两种情况下,它都可以完美地重定向,但对“真实”文件的每次调用都不起作用(例如,对html中的js或css文件的调用)


我做错了什么??

将一个重写秒集应用于多个规则

是的,我们真的很接近。。。但重写条件只适用于一条规则。这就是让我们失望的原因。让我们使用一些复杂的逻辑,将条件反过来:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^ - [L,S=2]
RewriteRule ^([^/]+)/?$ /store-list.php?u=$1 [L]
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?u=$1&a=$2 [L]

条件是,如果文件确实存在,则保持它们不变,并跳过接下来的两条规则(
S=2
)。

+1这应该可以工作,甚至不需要
RewriteRule^index\.php$-[L]
。@anubhava
^index\.php$-[L]甚至不需要。
这是复制粘贴的剩余内容。谢谢你的鼓励,希望对达里奥有用。:)对不起,它坏了。我在这台服务器上找不到请求的URL/dc design/dario store/时出现404错误。是的,它可以工作!也没有像@anubhava建议的那样
S=2
!非常感谢大家@阿努巴瓦感谢团队合作!下次见。:)