php - 通过 .htaccess 将所有 php 请求重定向到 index.php
问题描述
我遇到了一个小问题。预先,我对 .htaccess 没有任何经验。
我正在尝试实现漂亮的链接。所以我希望所有 PHP 内容都被定向到 index.php,它将处理所有内容显示等。在摆弄和谷歌搜索之后,我来到了这个设置:
# directs all content to index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /hotel/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f [or]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !-d [or]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . /hotel/index.php [L]
</IfModule>
“酒店”的存在是因为我正在运行 wampserver,它看起来很奇怪。
它符合我的预期,将所有内容重定向到 index.php。这就是问题所在,它正在重定向所有内容。我不希望 CSS、图像、js 等文件被触及。只有 PHP 文件。
因此,如果有人进入 /dir/foo/bar/,它会将其重定向到 index.php。
如果它要求说 /dir/foo/style.css,它会不理会它并为它服务。
PS我最初尝试了一些不同的方式。但是,我遇到了一个问题,如果我调用诸如“/dir/rooms/”之类的漂亮链接,并且有一个名为 dir/rooms.php 的文件,它将加载它。这不是我所期待的。
RewriteEngine On
RewriteBase /hotel/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /hotel/index.php [L]
解决方案
推荐阅读
- r - 填充每个累积最大值内的第一行,有一个扭曲
- swift - Swift 中的粗体动态类型
- html - 如何在中心模式下从左侧启动 Slick Slider
- excel - VBA - 打开范围中列出的多个文件并在多个工作表中复制/粘贴数据
- cuda - 为什么本地内存不适用于动态并行?
- postgresql - 升级到 Big Sur 后连接到本地 postgresql 数据库失败
- python - Python 3 - 在元组中打印出特定的键值
- geometry - 如何提取/生成与区域相交的线的交点坐标(在 fme-workbench 中)
- regex - 从字符串中排除字符不起作用
- swagger - 如何声明“列表”
' 在 OpenAPI/Swagger 文件中?