我正在尝试为我的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]
帮我更改网址参数。
答案 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
标志,尽管可能在某种程度上取决于您的设置,但可能的工作原理相同。