.htaccess只重写某个目录中的文件

时间:2013-10-11 19:23:46

标签: apache .htaccess mod-rewrite url-rewriting

我发现这个问题类似于我的请求here,但我不确定如何根据我的需要修改

我想......

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]

1 个答案:

答案 0 :(得分:1)

这应该有效:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/categories/$1.php -f
RewriteRule ^(.+?)/?$ /categories/$1.php [L]