Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache .htaccess仅重写特定目录中的文件_Apache_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache .htaccess仅重写特定目录中的文件

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/

我发现这个问题与我的要求相似,但我不确定如何根据我的需要修改它

我想

a) 删除目录(已编辑,忘记提及)

  • 注意,我只是使用目录作为容器来保持这个规则 独立于影响其他文件。也许有更好的方法 仅处理一系列文件,例如 文件名?目录似乎是最简单的解决方案。)
b) 删除文件扩展名

c) 用后面的斜杠替换它

。。。仅包含在/categories/目录中的文件上

因此效果是
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]

谢谢你的回复,我编辑了我的问题,加入了一个被遗忘的要求