我的应用程序中有一个名为/ 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
答案 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
但我不明白你想要完成什么?