1

我想重写以下 URL:

http://www.mywebsite.com/helloworld/

http://www.mywebsite.com/index.php?page=hellworld

以下规则适用于完成这项工作:

RewriteRule ^(.*)/$ index.php?page=$1

但是,我有一个问题:

当我去:(http://www.mywebsite.com/helloworld看看末尾的斜杠(/)不存在)该规则不起作用。但是使用http://www.mywebsite.com/helloworld/效果很好。

¿ 我能做些什么来解决这个问题?

4

2 回答 2

3

添加一个?

RewriteRule ^(.*)/?$ index.php?page=$1
于 2013-02-13T20:27:41.963 回答
0

为了一致性起见,强制使用斜线可能会更好:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ index.php?page=$1
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

!-f基本上,如果URL 不是文件(斜杠,我认为,它会再次重复规则并去你想要的地方。

于 2013-02-13T20:34:57.640 回答