我有以下.htaccess文件 它忽略了我的重写规则?
AddDefaultCharset utf-8
Options +FollowSymLinks
RewriteEngine On
#this is the line not working
RewriteRule ^/news/([0-9]+) /news-article.php?id=$1 [L,NC]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}
我真的很想改写规则。我发现的所有例子都说这应该有效。谢谢你的帮助!!
答案 0 :(得分:0)
如果这些规则在htaccess文件中,则需要从正则表达式中删除前导斜杠。用于匹配的URI具有自Apache版本2以来剥离的前导斜杠。
RewriteRule ^news/([0-9]+) /news-article.php?id=$1 [L,NC]
此外,您希望此规则低于您拥有的另一条规则,因为该规则会重定向浏览器,这会破坏此重写。