如何通过.htaccess将不完整目录链接重定向至404页面?
解决方案
你需要在现有规则中添加一条专门拦截/composizioni/(含去掉斜杠后的/composizioni)的规则,强制返回404状态码。修改后的完整.htaccess代码如下:
RewriteEngine On RewriteBase / # 拦截空的composizioni路径,返回404 RewriteRule ^composizioni/?$ - [R=404,L] # 移除非目录URL的末尾斜杠 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*)/$ $1 [L,R=301] # 匹配带二级目录的composizioni请求,转发到index.php RewriteRule ^composizioni/([^/\.]+)/?$ index.php?var1=$1 [L]
代码说明:
新增规则
RewriteRule ^composizioni/?$ - [R=404,L]:^composizioni/?$精准匹配/composizioni和/composizioni/两种路径-表示不修改请求路径R=404指定返回404状态码L标记为最后一条匹配规则,避免后续规则继续处理该请求
原有规则保留不变,确保正常的带二级目录的请求仍能转发到
index.php,同时自动移除非目录URL的末尾斜杠。
修改后,访问https://www.site.it/composizioni/或https://www.site.it/composizioni时会直接返回404页面,满足你的需求。
内容的提问来源于stack exchange,提问作者Daniele
相关产品推荐
相关产品推荐

