自动URL重写

时间:2010-08-10 13:10:27

标签: php url rewrite

我创建了.htaccess文件。

原始网址为:

http://example.com/folder/page.php?page=1&ipp=All&link=view_link

重定向:

http://example.com/folder/page/1/All/link.html

重定向工作正常。但是现在的问题是,

只有在我手动提供重写的URL时才会重定向。 但它应该只自动完成。

我的要求是,如果有人输入“page.php?page = 1& ipp = All& link = view-link”,则自动转换/page/1/All/link.html

1 个答案:

答案 0 :(得分:0)

根据你的问题,我仍然不清楚你想要什么,但我会在黑暗中采取刺激,并假设你想将用户从那些“丑陋”的URL重定向到更干净的格式。如果是这种情况,这应该有效。

RewriteCond %{THE_REQUEST}  ^[A-Z]+\s/[^/]+/.*\.php
RewriteCond %{QUERY_STRING} page=([^&]+)
RewriteRule ^([^/]+/[^/]+)\.php /$1/%1 [C]
RewriteCond %{QUERY_STRING} ipp=([^&]+)
RewriteRule .* $0/%1 [C]
RewriteCond %{QUERY_STRING} link=view(_|-)([^&]+)
RewriteRule .* $0/%2.html? [R=301,L]

哪个用户会重定向转到folder/page.php?page=1&ipp=All&link=view-link的用户(或者是/folder/page.php?page=1&ipp=All&link=view_link?你的问题同时包含两个,所以我让它接受folder/page/1/All/link.html,无论是什么原始网址的组件是。