Apache .htaccess仅重写特定目录中的文件
我发现这个问题与我的要求相似,但我不确定如何根据我的需要修改它 我想 a) 删除目录(已编辑,忘记提及)Apache .htaccess仅重写特定目录中的文件,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我发现这个问题与我的要求相似,但我不确定如何根据我的需要修改它 我想 a) 删除目录(已编辑,忘记提及) 注意,我只是使用目录作为容器来保持这个规则 独立于影响其他文件。也许有更好的方法 仅处理一系列文件,例如 文件名?目录似乎是最简单的解决方案。) b) 删除文件扩展名 c) 用后面的斜杠替换它 。。。仅包含在/categories/目录中的文件上 因此效果是website.com/categories/My File Name.php变成website.com/My File Name/
- 注意,我只是使用目录作为容器来保持这个规则 独立于影响其他文件。也许有更好的方法 仅处理一系列文件,例如 文件名?目录似乎是最简单的解决方案。)
website.com/categories/My File Name.php
变成website.com/My File Name/
这就是我迄今为止所尝试的:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/categories/$
RewriteRule ^([^\.]+)/$ /categories/$1.php [NC,L]
这应该起作用:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/categories/$1.php -f
RewriteRule ^(.+?)/?$ /categories/$1.php [L]
谢谢你的回复,我编辑了我的问题,加入了一个被遗忘的要求