0

我正在寻找一个 RewriteRule 或 Condition 来实现这一点:

www.example.com/a/ to a.php
www.example.com/a/b/ to a,b.php
www.example.com/a/b/c/ to a,b,c.php
...

我有这个规则:

RewriteRule ^(.+)/(.+)/(.+)/$ ./$1,$2,$3.php [L]
RewriteRule ^(.+)/(.+)/$ ./$1,$2.php [L]
RewriteRule ^(.+)/$ ./$1.php [L]

这适用于a,ba,b,c

www.example.com/products/room/ to products,room.php
www.example.com/products/room/chair/ to products,room,chair.php

但不适用于a

www.example.com/products/ to products.php

谁能帮我吗?

编辑: 我发现这是 synology diskstation apache 配置的问题。我检查了我的代码,以及另一台服务器上的 anubhava 代码,它运行良好。

4

1 回答 1

3

非常奇怪的文件名我必须这么说。

无论如何,请在您的文件中尝试此代码DOCUMENT_ROOT/.htaccess

RewriteEngine On

## If the request is for a valid directory
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

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

RewriteRule ^([^/]+)/([^/]+)/?$ /$1,$2.php [L]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /$1,$2,$3.php [L]
于 2013-11-13T13:21:06.013 回答