尝试将网址重定向到包含/for-your-practice/
的特定网址。
如果我们知道该网址包含for-your-practice
,只需将其重定向到我想要的网址即可。这将是https://www.example.com/first/second/order/shop/product-category/for-your-practice/
到目前为止尝试过的解决方案:
第一:
Redirect /for-your-practice/
https://www.example.com/first/second/order/shop/product-category/for-your-practice/
第二
Redirect 302 https://www.example.com/first/second/order/shop/for-your-practice/ https://www.example.com/first/second/order/shop/product-category/for-your-practice/
第三
#RewriteCond %{REQUEST_URI} www.example.com/first/second/order/shop/product-category/for-your-practice [NC]
#RewriteRule ^(.*)$ /for-your-practice [R,L]
第四:
RewriteCond %{QUERY_STRING} /for-your-practice/
RewriteRule .*$ http://www.example.com/first/second/order/shop/product-category/for-your-practice [L,R=301]
不幸的是,他们都没有工作,我在这里做错了什么?
.htaccess
答案 0 :(得分:1)
最简单的可能就是使用apache的重写模块:
RewriteEngine on
RewriteCond %{REQUEST_URI} /for-your-practice/
RewriteRule ^ https://www.example.com/first/second/order/shop/product-category/for-your-practice/ [R=301]
为此,必须适用一些先决条件:
.htaccess
tyle文件的解释.htaccess
样式文件必须位于DocumentRoot
.htaccess
样式文件必须可由http服务器进程使用其他RewriteCond
的原因是,网址中的前一个斜杠可能会引发RewriteRule
样式文件中.htaccess
的问题。通常,您应始终更喜欢将此类规则放在http服务器主机配置中,而不是使用.htaccess
样式文件。这些文件非常容易出错,难以调试,它们确实会使服务器变慢,通常不需要。这些文件仅作为不使用主机配置(读取:非常便宜的托管提供商)或需要编写自己的重写规则的应用程序(显然是安全噩梦)。