是否有可能删除?和=在HTML?

时间:2019-03-25 10:01:40

标签: html regex .htaccess url

我正在尝试为我的HTML页面提供漂亮的url。我找到了很多答案,但它们与php的关系更大。我需要在下面转换此链接,

http://localhost/blog.html?id=1

http://localhost/blog/1

我有.htaccess文件用于删除html

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

帮我更改网址参数。

1 个答案:

答案 0 :(得分:0)

您发现的示例对您而言是完全有效的,因为它与php之类的更高层次的逻辑无关。这些规则在http服务器级别上运行。

无论如何,这是一条让您入门的规则:

RewriteEngine on
RewriteCond %{QUERY_STRING} (?:^|&)id=(\d+)(?:&|$)
RewriteRule ^/?blog$ blog.html?id=%1 [END,QSD]

如果使用此方法获得的HTTP状态为500(“内部服务器错误”),则很可能您只操作apache http服务器的一个版本。在这种情况下,您将在http服务器错误日志文件中找到有关未支持的[END]标志的提示。尝试将END标志替换为较旧的L标志,尽管可能在某种程度上取决于您的设置,但可能的工作原理相同。