我正在用apache在php上创建一个非常小的网站,5页。我在顶级目录中创建了五个php文件,index.php,random.php等。我想隐藏.php扩展名,所以我将以下内容放入我的.htaccess中:
RewriteRule ^random/?$ random.php
如果我访问www.example.com/random,我会看到我需要的页面,但是如果我访问www.example.com/random/(最后是斜线),则css和链接都是一个目录,即服务器认为我在/random/index.php,而不是/random.php。
我是RewriteRule的总菜鸟,所以提前谢谢!
答案 0 :(得分:2)
对于实际执行HTTP重定向的尾部斜杠,您应该有一个单独的规则。例如:
RewriteRule ^random/$ /random [R=301,L]
RewriteRule ^random$ random.php
相对URL由浏览器处理,因此使用该斜杠,浏览器将会混淆。
大多数HTTP服务器实际上都会对目录名称进行此类重定向。也就是说,如果您转到http://example.com/foo/bar
并且bar
是一个目录,您将被重定向到/foo/bar/
。