重定向文件夹的.htaccess问题

时间:2011-11-18 07:34:55

标签: .htaccess

我的应用程序中有一个名为/ test的文件夹。

现在我正在尝试编写一个.htaccess文件,该文件会将所有请求显示为/ test * as / test。

例如:

www.example.com/test/是其中包含index.php文件的实际目录。

以下所有请求都应该转到相同的/ test目录

www.example.com/test-hello/
www.example.com/test-world/
www.example.com/test-htacess/
www.example.com/test123/

基本上任何对/ test *的请求都应该转到/ test。

这是我到目前为止所尝试的:

RewriteRule ^/test* /test

3 个答案:

答案 0 :(得分:2)

你的正则表达式错了。你的意思是^/test.*$。您的规则将匹配/ testtttt。

星号表示其前面的字符可以包含零次或多次。点是一个特殊的字符,这意味着这里可以是任何东西。 .*匹配包含空字符串的每个字符串。另请参阅Wikipedia

答案 1 :(得分:2)

您需要使用RewriteCond首先匹配“在网址中测试”

尝试以下:

RewriteCond %{THE_REQUEST} ^GET\ /test/
RewriteRule ^test/(.*) /test/$1 [L,R=301]

答案 2 :(得分:1)

您目前没有将-hello-world等放在您的文件夹后面。什么是hello?那是文件吗?还是参数?

rewriteRule的第二部分应该是一个文件。像

这样的东西

RewriteRule ^ / test(。*)$ /test/$1.php

以上功能将具有:

/testABC to /test/ABC.php

但我不明白你想要完成什么?