我正在开发一个新网站,我希望以下网址/newsite/products
重定向到/newsite/products/product.php
。
我的.htaccess文件如下:
RewriteEngine On
RewriteRule ^newsite/products$ /newsite/products/product.php
我的问题是products
内已有一个名为newsite
的文件夹,当请求newsite/products
时,它会尝试打开该文件夹,而不是转到php文件。
我明白了:
Forbidden
You don't have permission to access /newsite/products/ on this server.
有没有办法让这项工作?
编辑:请求的网址为:http://example.com/newsite/products,.htaccess
的位置位于根目录中。
答案 0 :(得分:0)
您需要关闭目录斜杠才能重写文件:
尝试:
DirectorySlash off
RewriteEngine On
RewriteRule ^newsite/products$ /newsite/products/product.php [NC,L]
不要在规则模式中添加尾部斜杠
/newsite/products
将重写为
/newsite/products/product.php
和
/newsite/products/
将打开您的产品"目录
注意 - 这不是一个安全的解决方案,如果您删除规则并且DirectorySlash关闭,您的索引文件将被忽略,所有目录将开始列出文件和文件夹。