0

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

更清楚地说,html 文件folder.html位于文件夹中base2

我的 .htaccess 文件没有按预期工作

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

谁能告诉我我的 .htaccess 文件有问题吗?

谢谢!

4

1 回答 1

1

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

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

这应该有效(接受/folder/ 之后的任何内容)

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

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

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

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

于 2012-11-11T19:04:52.327 回答