使用.htaccess文件的动态URL

Gau*_*rma 0 .htaccess dynamic-url

我想转换一个像这样的网址

http://mysite.com/search/search_mgmt.php?CategoryID=1

喜欢的东西

http://mysite.com/search/my-seo-friendly-url

我启用了mod_rewrite.

Ale*_*nov 5

你想达到什么目的?如果某些人访问您的网站search/search_mgmt.php?CategoryID=1并且您想将其转换为search/my-seo-friendly-url,则必须将流量重定向到另一个网址:

RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^mysite.com/search/search_mgmt.php?CategoryID=1$ http://mysite.com/search/my-seo-friendly-url [R=301,L]
Run Code Online (Sandbox Code Playgroud)

使用此规则,服务器将发送301 Moved Permanently带有Location:标头集的客户端代码到新URL.你可以改变301码到302(实测值): [R=302,L].(注意:在这种情况下,客户端向您的服务器发送两个请求以获取内容.)

如果您不添加此结果说明符,那么您的服务器将返回结果,就像使用重写的URL访问它一样.所以我猜你实际上希望用户看到你my-seo-friendly-url在服务器上它会被处理search_mgmt.php?CategoryID=1.你可以这样做:

RewriteRule ^mysite.com/search/my-seo-friendly-url$ http://mysite.com/search/search_mgmt.php?CategoryID=1
Run Code Online (Sandbox Code Playgroud)