mod_rewrite清除URL重写

问题描述 投票:0回答:1

我正在尝试为我的网站编写干净的url。我是这个菜鸟,所以请原谅我。我的.htaccess文件当前如下所示:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9-]+)$ something.php?query=$1
RewriteRule ^([a-zA-Z0-9-]+)/$ something.php?query=$1

第一个规则似乎有效。例如,website.com/good-looking-query-string实际上确实重写为website.com/something.php?query=ugly+looking+query+string第二条规则是我遇到问题的地方。我无法使结尾的斜杠起作用。例如,website.com/good-looking-query-string/似乎拉起了页面,但没有应用任何CSS规则。我注意到所有链接最终也附加到了查询字符串。例如,返回index.php的链接最终类似于website.com/good-looking-query-string/index.php我需要使斜线起作用。我到底在做什么错?

php regex apache mod-rewrite clean-urls
1个回答
0
投票

您可以将两行合并为一行:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9-]+)/?$ something.php?query=$1

在这种情况下,/是可选的

© www.soinside.com 2019 - 2024. All rights reserved.