Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.htaccess文件的动态URL_.htaccess_Dynamic Url - Fatal编程技术网

使用.htaccess文件的动态URL

使用.htaccess文件的动态URL,.htaccess,dynamic-url,.htaccess,Dynamic Url,我想转换一个URL,如 http://mysite.com/search/search_mgmt.php?CategoryID=1 http://mysite.com/search/search_mgmt.php?CategoryID=1 差不多 http://mysite.com/search/my-seo-friendly-url http://mysite.com/search/my-seo-friendly-url 我已启用mod_重写功能。您希望实现什么?如果某些东西通过search/

我想转换一个URL,如

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

http://mysite.com/search/my-seo-friendly-url http://mysite.com/search/my-seo-friendly-url
我已启用mod_重写功能。

您希望实现什么?如果某些东西通过
search/search\u mgmt.php?CategoryID=1进入您的网站,并且您希望将其转换为
search/my seo友好url
,则您必须将流量重定向到另一个url:

RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^mysite.com/search/search_mgmt.php?CategoryID=1$ http://mysite.com/search/my-seo-friendly-url [R=301,L]
使用此规则,服务器将发送永久移动的客户端代码
301
,并将
位置:
标题设置为新URL。您可以将301代码更改为302(已找到):
[R=302,L]
。(注意:在这种情况下,客户端向服务器发送两个请求以获取内容。)

如果您没有添加这个结果说明符,那么您的服务器将只返回结果,就好像它是通过重新写入的URL访问的一样。因此,我猜您实际上希望用户看到您的
我的seo友好url
,而在服务器上,它将由
search\u mgmt.php?CategoryID=1
处理。您可以这样做:

RewriteRule ^mysite.com/search/my-seo-friendly-url$ http://mysite.com/search/search_mgmt.php?CategoryID=1

你想要实现什么?如果某些东西通过
search/search\u mgmt.php?CategoryID=1进入您的网站,并且您希望将其转换为
search/my seo友好url
,则您必须将流量重定向到另一个url:

RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^mysite.com/search/search_mgmt.php?CategoryID=1$ http://mysite.com/search/my-seo-friendly-url [R=301,L]
使用此规则,服务器将发送永久移动的客户端代码
301
,并将
位置:
标题设置为新URL。您可以将301代码更改为302(已找到):
[R=302,L]
。(注意:在这种情况下,客户端向服务器发送两个请求以获取内容。)

如果您没有添加这个结果说明符,那么您的服务器将只返回结果,就好像它是通过重新写入的URL访问的一样。因此,我猜您实际上希望用户看到您的
我的seo友好url
,而在服务器上,它将由
search\u mgmt.php?CategoryID=1
处理。您可以这样做:

RewriteRule ^mysite.com/search/my-seo-friendly-url$ http://mysite.com/search/search_mgmt.php?CategoryID=1