0

我的网址为 http://www.mydomain.com/levels/home?mode=48bb6e862e54f2a795ffc4e541caed5c. 我需要将此网址更改为http://www.mydomain.com/medium. 我不熟悉重写网址。

我试过了RewriteRule ^medium/?$ levels/home?mode=48bb6e862e54f2a795ffc4e541caed5c,但没有正常工作。

完全重写规则

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^medium/?$    levels/home?mode=48bb6e862e54f2a795ffc4e541caed5c
RewriteRule ^(.*)$ index.php [QSA,L]
4

3 回答 3

0

尝试仅将该行更改为:

RewriteRule ^medium /levels/home?mode=48bb6e862e54f2a795ffc4e541caed5c

或者,如果您不在乎介质之后是否有任何内容,则如下:

RewriteRule ^medium(.*) /levels/home?mode=48bb6e862e54f2a795ffc4e541caed5c
于 2012-09-23T15:58:52.143 回答
0

您的规则顺序错误,请尝试将它们更改为:

RewriteEngine On

RewriteRule ^medium/?$    levels/home?mode=48bb6e862e54f2a795ffc4e541caed5c

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

条件需要应用于 index.php 规则,而不是 medium 规则。RewriteConds 仅适用于紧随其后的RewriteRule,而不是全部。

于 2012-09-24T01:31:41.990 回答
0

这个重写规则工作得很好

RewriteRule ^medium.*$  /levels/home?mode=48bb6e862e54f2a795ffc4e541caed5c [R=301,L]
于 2012-09-30T08:24:45.800 回答