我正在尝试使用.htaccess
这
example.com/daily.php
到example.com/daily
(和example.com/daily/
)
使用以下代码:
Options +FollowSymLinks
RewriteEngine on
RewriteRule daily/$ daily.php
但是:
example.com/daily/
= ok example.com/daily
=不好答案 0 :(得分:0)
RewriteRule daily/$ daily.php
在上面的RewriteRule
指令中,daily/$
是一个正则表达式(regex),它与请求中的URL路径匹配。此正则表达式包含一个尾部斜杠(/
),因此这显然不匹配不以斜杠结尾的URL。
如果您想同时匹配/daily/
和/daily
(虽然我不建议这样做 - 请参阅下面的说明),然后您需要在其中设置尾部斜杠可选正则表达式。您可以使用?
(问号)跟随此字符,使其成为可选字符。例如:
RewriteRule ^daily/?$ daily.php [L]
我还包含了一个字符串起始锚^
,因此它只匹配/daily
而不是/<anything>daily
。如果您打算添加更多指令,您可能需要L
(last
)标记。
除了:如果您同时允许/daily/
和/daily
,这两个网址在技术上是两个不同的网址,那么您可能会有&#34;重复内容&#34;。您应该选择一个或另一个作为规范URL。并且可选地将非规范版本路由到另一个版本。