的.htaccess重写规则仅适用,如果没有文件存在同名

问题描述 投票:1回答:1

我试图用一个htaccess的重写规则是这样的:

IF URL = http://example.com/admin/dashboard加载文件http://example.come/admin/dashboard.php

我有这个文件结构

example.com/
|-- admin/
    |-- .htaccess
    |-- dashboard.php

如果我写这在我的.htaccess文件

RewriteEngine On
RewriteRule ^test$ dashboard.php

和我的浏览器中键入http://example.com/admin/test这个地址

我看到正确dashboard.php文件的内容

但是,如果我在我的.htaccess文件改变

RewriteEngine On
RewriteRule ^dashboard$ dashboard.php

并通过浏览器中键入http://example.com/admin/dashboard我得到一个页面未找到

为什么重写规则仅适用,如果我的网址指向一个不存在的文件吗?

.htaccess mod-rewrite url-rewriting
1个回答
0
投票

关闭它可能在你的服务器配置被打开在你的.htaccess MultiViews选项。

Options -MultiViews    
RewriteEngine On

RewriteRule ^dashboard/?$ dashboard.php [L,NC]

您也可以添加RewriteBase略低于RewriteEngine行:

RewriteBase /admin/
© www.soinside.com 2019 - 2024. All rights reserved.