.htaccess display / base1 / folder /使用/base2/folder.html的内容

时间:2012-11-10 17:16:07

标签: apache .htaccess mod-rewrite

当我打开网址http://mysite.com/base1/folder/时,我希望它显示http://mysite.com/base2/folder.html的内容。文件夹folder中有一个index.html文件。

更清楚一点,html文件folder.html位于base2文件夹中。

我的.htaccess文件未按预期工作

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/base1/([^/]+)/(.+)$ /base2/$1.html [L]

有人可以告诉我.htaccess文件有问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您的正则表达式看起来不对:

^/base1/([^/]+)/(.+)$
                 ^^^ requires one or more characters

这应该有效(接受 后面的/ folder /)

^/base1/([^/]+)/

或者这个(仅接受/ folder /)

^/base1/([^/]+)/$

此外,我会删除两个RewriteCond作为您的规则。 (如果/ base1 /不存在,它们不应该造成任何伤害)