我正在尝试使用mod_rewrite重写以下内容:
http://www.site.com/one-two-file.php
到
http://www.site.com/one/two/file.php
文件夹不存在,但存在“虚拟”以进行重写。
我在这里使用了什么规则?
答案 0 :(得分:1)
未测试:
RewriteRule ^([^/]+)/([^/]+)/([^/]+)\.php$ $1-$2-$3.php [L]
我无法理解你对虚拟和存在的解释:必须存在one-two-file.php,否则你将无处可重定向。
从.htaccess
文件使用时,以前的版本可以正常工作。但是,如果从主http.conf文件中使用,则需要添加前导斜杠:
RewriteRule ^/([^/]+)/([^/]+)/([^/]+)\.php$ /$1-$2-$3.php [L]
我认为这就是为什么它不适用于OP(他可能获得了404未找到的状态代码)。