.htaccess规则附加index.php而不是URI

.htaccess规则附加index.php而不是URI,php,apache,.htaccess,mod-rewrite,rewrite,Php,Apache,.htaccess,Mod Rewrite,Rewrite,我的.htaccess看起来像这样 Options -Indexes <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC] Rewrite

我的.htaccess看起来像这样

Options -Indexes

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/members/invite/$1 [R,L]

</IfModule>
https://sub.domain.com/ZTHF76

但是相反,我得到了

https://www.domain.com/members/invite/index.php
我需要保留从应用程序其余部分的URI中删除
index.php
的第一条规则


非常感谢您的帮助。

在重写规则之前,您应该重新排列规则并保留重定向规则:

Options -Indexes
RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/members/invite/$1 [L,R=302]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

@阿努巴瓦-很好的一个让我发疯。如果你愿意,我会接受你的回答。工作得很有魅力
Options -Indexes
RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/members/invite/$1 [L,R=302]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]