Automatic URL Rewriting

一个人想着一个人 提交于 2020-01-03 05:07:07

问题


I have created .htaccess file.

The original URL is:

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

Redirected :

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

Redirecting works correctly.But,Now the problem is ,

it will be redirected only if i give the rewrited URL manually. But it should do automatically only.

my requirement is if anybody type "page.php?page=1&ipp=All&link=view-link" then automatic convert /page/1/All/link.html


回答1:


I'm still very unclear on what you want based on your question, but I'll take a stab in the dark and assume you wanted to redirect the user from those "ugly" URLs to the cleaner format. If that's the case, this should work.

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]

Which will redirect users who go to folder/page.php?page=1&ipp=All&link=view-link (Or is it /folder/page.php?page=1&ipp=All&link=view_link? Your question has both, so I let it accept either) to folder/page/1/All/link.html, regardless of what any of the components of that original URL are.



来源:https://stackoverflow.com/questions/3449253/automatic-url-rewriting

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!