当我拨打网页的 root 时,我收到错误403:
禁 您无权访问此服务器上的/。
我的htaccess看起来像:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) dir/file.php
Options -Indexes
如何将根目录重定向到文件夹,没有错误403? 而且没有失去
的功能RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
答案 0 :(得分:1)
重定向所有内容,但以下情况除外:
.htaccess内容:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /special/index.php
RewriteRule ^$ /special/index.php [QSA,L]
Options -Indexes
答案 1 :(得分:0)
最有可能(根据我的经验),您没有在请求目录时执行的默认文件。
1)您可能需要将此指令添加到.htaccess
中。这将告诉Apache在请求目录时执行index.php。
DirectoryIndex index.php
2)确保此目录中存在index.php
,否则您将看到403错误。
“我如何将根目录重定向到文件夹”究竟是什么意思?如果您请求网站的根文件夹,则会执行/special/index.php
文件的规则(例如http://example.com/
RewriteRule ^$ /special/index.php [QSA,L]
<强>更新强>
RewriteRule ^mydir/(index\.php)?$ http://www.example.com/ [R=301,QSA,NC]
这将告诉Apache 重定向(在浏览器的地址栏中更改网址)从http://www.example.com/mydir/index.php
或http://www.example.com/mydir/
到http://www.example.com/
RewriteRule ^$ mydir/index.php [QSA,L]
当您点击根文件夹(例如/mydir/index.php
)而不更改地址栏中的URL时,这将告诉Apache执行http://www.example.com/
。
如果您希望它与现有规则一起使用,则必须将这两条规则置于其他规则之上 - 例如,在RewriteBase /
之后