我已将所有.html页面重定向到带有get参数的process.php,现在我想清理查询网址。
我已经像这样重定向了。
RewriteEngine on
RewriteRule ^([^/]*)/(.*\.html) /Site/process.php?dir=$1&page=$2 [R=301,L]
这会给出这样的网址。
http://localhost/Site/process.php?dir=Directory&page=page.html
我想将此网址清理回原始网址,并且仍然可以发布获取参数。
http://localhost/Site/Directory/page.html
我试过这样的事。
RewriteEngine on
RewriteRule ^([^/]*)/(.*\.html) /Site/process.php?dir=$1&page=$2 [R=301,L]
RewriteRule ^Site/$1/$2([^/.]+)/?$ [L]
但它什么也没做。
请参阅并建议任何可行的方法。
感谢。
修改
这些html页面实际上不存在,只是页面中的链接,我想处理这些链接,使用php和htaccess保持url完整,从数据库制作页面,可以这样做。
答案 0 :(得分:1)
回答and still be able to post get parameter
部分(将完整的原始查询字符串传递给脚本):
RewriteRule some.html some-other.php?%{QUERY_STRING} [L]
可能会有帮助。
答案 1 :(得分:1)
如果您只是想将“html”部分留在地址栏中以制作“漂亮的网址”,请暂停[R]
标记,然后删除第二条规则。重定向将在服务器上进行,但浏览器仍将具有.html
URL。