.htaccess - 可能的 HTACCESS 问题无法正确提供子页面
问题描述
主页 TLD 解析良好。
单击子页面链接时,例如“mortgages/”,子页面不显示,而是显示主页,尽管漂亮的 URL 确实正确显示为 www.mydomain.co.uk/mortgages/
只有当我在菜单结构中输入实际页面“mortgages.php”时,才会显示子页面。
所以似乎子页面由于某种原因没有正确解析。
这可能是 HTACCESS 问题吗?
尝试了对 HTACCESS 的各种更改
当前的 HTACCESS 代码
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
IndexIgnore *
单击子页面链接时,例如“mortgages/”,子页面不显示,而是显示主页,尽管漂亮的 URL 确实正确显示为 www.mydomain.co.uk/mortgages/
解决方案
我想这就是你想要的
删除 php 文件扩展名——例如https://example.com/file.php将变为https://example.com/file
备选方案 1
Options +MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
备选方案 2
Options +MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
推荐阅读
- unity3d - 除非我们也有刚体,否则我们不应该在游戏对象上使用碰撞器组件吗?
- android - Firestore 安全规则在更新字段的条件下返回 true,即使它没有被更新
- php - 我的 if 语句没有按预期工作
- java - 如何在 Ubuntu 下安装 JDK 11?
- javascript - 为什么这个 js RegExp 测试返回 true?
- python - 时间序列图显示为垂直线
- javascript - 如何使用纯 JavaScript 在 Safari 中将屏幕方向锁定为纵向?
- java - CONTENT_DISPOSITION 被忽略,pdf 下载名称为 download.pdf
- python - Python程序不工作..主要部分一直显示错误
- html - 背景图像的宽度似乎被拉伸了,我怎样才能将它完美地适应屏幕?