Apache 如何将以/test/开头的URL重定向到单独的脚本?

Apache 如何将以/test/开头的URL重定向到单独的脚本?,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有一个可用的htaccess: RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule (.*) /default.php DirectoryIndex index.php /default.php 我希望对此进行修改,以便所有以/test/go-to/test/default.php开头的URL 示例:--> 示例:-->基本上,只需将/test

我有一个可用的htaccess:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule (.*) /default.php 
DirectoryIndex index.php /default.php 
我希望对此进行修改,以便所有以/test/go-to/test/default.php开头的URL

示例:-->
示例:-->

基本上,只需将
/test/
放在表达式前面。此外,此处不需要括号:

RewriteRule ^/test/ /test/default.php

如果需要从URL传递信息,可以捕获它(带括号)并将其发送到default.php(带$1),如下所示:

RewriteRule ^/test/(.*)$ /test/default.php/$1
因此http/../test/foo/bar/将导致/test/default.php/foo/bar/。然后,您的脚本可以访问额外信息。

我将使用:

RewriteCond %{REQUEST_URI} ^/([^/]*/)*
RewriteRule !/default\.php$ %0default.php [L]
如果需要,访问$\u服务器全局数组中的原始URI

从您的原创作品来看,您可能想要:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^/test(/.*)?$ /test/default.php [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /default.php

对不起,不够具体。我希望除了/test/links之外的其他链接继续指向原始脚本。在第二个示例中,是否需要保留“hello.php”信息?
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^/test(/.*)?$ /test/default.php [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /default.php