.htaccess - Htaccess没有重写子目录中的文件
问题描述
我的 htaccess 文件中有以下代码,它从页面名称中删除 .php 扩展名,并在以下目录中的页面名称末尾插入斜杠时重定向到 404 页面。
- example.com/file [重定向]
- example.com/file/ [不重定向]
- example.com/folder/file [重定向]
- example.com/folder/file/ [不重定向]
- example.com/folder/folder/file [不重定向]
- example.com/folder/folder/file/ [不重定向]
我已经尝试了几个 htaccess 代码,但5.不重定向。我希望5.像1. 和 3. 一样重定向。
代码
# error pages
ErrorDocument 203 /error/203.php
ErrorDocument 204 /error/204.php
ErrorDocument 301 /error/301.php
ErrorDocument 400 /error/400.php
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 405 /error/405.php
ErrorDocument 406 /error/406.php
ErrorDocument 500 /error/500.php
ErrorDocument 502 /error/503.php
ErrorDocument 503 /error/503.php
ErrorDocument 504 /error/504.php
Options -Indexes
RewriteEngine on
# remove .php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^.]+)$ $1.php [NC,L]
# rewrite index page
RewriteRule ^login index.php [NC,L]
# rewrite profile page
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
# site.com/profile.php
RewriteRule ^([a-zA-Z0-9_.]+)$ profile.php?tg_u=$1 [NC,L]
#RewriteRule ^([^.]+)$ $1.php [NC,L]
# block access to htaccess file
<Files .htaccess>
order allow,deny
deny from all
</Files>
解决方案
推荐阅读
- php - 如何通过 jquery 和 php 在按钮单击时正确提醒我的数据
- azure-devops - YAML 管道 - 设置变量并在模板表达式中使用
- blazor - 如何检测客户端关闭了 Blazor 服务器端的浏览器(Web 套接字连接关闭)?
- apache-spark - 使用 Spark BigQuery 连接器启动 Dataproc 集群
- c# - 如果任何记录小于零,Crystal Reports 禁止所有列表
- laravel - 调用模型 [App\Employee] 上的未定义关系 [角色]
- r - 通过匹配数据框之间的两个值在数据框中创建一个新列
- python - 将 Tensorflow Keras 模型移植到 Tensorflow 版本 1.14.0 时出错
- javascript - 剪贴板数据向文本添加随机返回
- swift - 滚动时如何一次旋转表格视图单元格中的所有视图?