【发布时间】:2012-12-17 13:34:38
【问题描述】:
我已将所有 .html 页面重定向到带有 get 参数的 process.php,现在我想清理查询 url。
我已经这样重定向了。
RewriteEngine on
RewriteRule ^([^/]*)/(.*\.html) /Site/process.php?dir=$1&page=$2 [R=301,L]
这给出了这样的网址。
http://localhost/Site/process.php?dir=Directory&page=page.html
我想像这样将这个 url 清理回原来的 url 并且仍然能够发布 get 参数。
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不变,可以这样做吗?
【问题讨论】:
-
docroot 是哪个目录?地点?或以上网站?
-
如果您保留原始 URL 并将资源静默映射到 php 文件,那么您也在做同样的事情。此时,您正在将“漂亮”的 URL 重定向到“丑陋”的资源地址,但现在您想保留此资源地址,但再次显示“漂亮”的 URL,这将回到起点。..
-
@Felipe Alameda A- 这些 html 页面实际上不存在,只是页面中的链接,我想处理这些链接以使用 php 和 htaccess 从数据库制作页面,保持 url 完整,可以这样吗完成。
-
您在
@和我的用户名之间留了一个空格,所以我没有收到您的评论。我有点迷路了,但总的来说,资源(脚本)可以映射到一个地址,而浏览器显示一个“漂亮”的 URL,如果这就是你的要求的话。
标签: php html mod-rewrite