.htaccess - htaccess 需要帮助重写 url 和改进代码
问题描述
我在 localhost 上有一个本地站点,我想清理 URL。
我已经编写了一些代码,但我需要帮助来完善它。
我的网址:localhost/root/pages/videos/videos.php
我想要的网址:localhost/root/videos/
- 我想删除 .php 并添加一个斜杠
- 如果用户没有在末尾添加斜线,则添加斜线
- 如果用户将 .php 放在 URL 中,则重定向到 404 页面
- 我要删除子目录页面和视频
- 如果用户在目录(不是文件)中,则重定向到 404 页面
这是我已经拥有的代码:
# Adds a 404 page
ErrorDocument 404 /root/pages/errors/404.php
# Turn on RewriteEngine
RewriteEngine On
Options All -Indexes
# Redirect .php to 404 page
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.+)\.php - [L,R=404]
# Redirect non slash to slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /root/$1/ [L,R=301]
# Rewrite .php to slash
RewriteRule ^([a-z-]+)/$ /root/pages/videos/$1.php [L]
问题:
1. 如果我在 localhost/root/ 目录中,并且当我添加例如后面的文本时,我会被重定向到 localhost/root/pages/videos/something.php/
解决方案
推荐阅读
- visual-studio-code - 如何在文件中查找选择?
- java - java - 如何在java中将我的swing组件分离到不同的类?
- reactjs - 用于在 Android chrome 浏览器上将语音转换为文本的 Web 语音 API
- sql - 忽略空值并为作为更大查询一部分的列显示单个值的最聪明的方法是什么?
- java - Jenkins Android jobs with Gradle error, Jacoco debugging
- oracle - Using Oracle Data Integrator 12c with Snowflake
- python - Python - Extracting weight from a column (containing a string) in a Pandas DataFrame using regex and adding it to a new column
- python - 使用 Spotipy API 循环遍历数据框和搜索轨道?
- javascript - 如何比较两个对象数组并纠正相同的键值?
- amazon-web-services - 是否可以在网关 VPC 端点前面放置网络负载均衡器?