我想用.htaccess重写一个url,并对它进行301重定向。.htaccess rewrite url [apache]
原始URL是这样的http://本地主机/实验室/ customer_132 /昆德=哥德堡-STAD
我希望它看起来像这样,重定向到
HTTP: // localhost/labs/customer_132 /?page_id = 11#goteborg-stad
试过不同的解决方案,但我没有得到它的窍门。
谢谢你的一切帮助!
我想用.htaccess重写一个url,并对它进行301重定向。.htaccess rewrite url [apache]
原始URL是这样的http://本地主机/实验室/ customer_132 /昆德=哥德堡-STAD
我希望它看起来像这样,重定向到
HTTP: // localhost/labs/customer_132 /?page_id = 11#goteborg-stad
试过不同的解决方案,但我没有得到它的窍门。
谢谢你的一切帮助!
您无法直接使用RewriteRule
stament访问查询字符串;相反,您需要一个前面的RewriteCond
,检查是否存在kund
字段并获取其值。然后,您可以在RewriteRule
中使用%N
来使用任何捕获的值。
RewriteEngine On
RewriteCond %{QUERY_STRING} kund=([\w\-]+)
RewriteRule ^/labs/customer_132/ /labs/customer_132/?page_id=11#%1 [NC,R,L]
谢谢鲍罗廷,会试试!回来,如果它不工作:) – 2012-03-06 15:58:15
您需要在.htaccess文件打开重写引擎:
RewriteEngine On
然后,对于单个URL重定向以下应该工作(如果.htaccess文件是在根文件夹或服务器)。
编辑:如果查询字符串正好是kund=goteborg-stad
(大写或小写),您需要检查查询字符串的条件。
RewriteCond %{QUERY_STRING} ^kund=goteborg-stad$ [NC]
RewriteRule ^labs\/customer_132\/$ /labs/customer_132/?page_id=11#goteborg-stad [NE,R,L]
的NE
告诉Apache不要逃避在重定向的#
符号。
如果你想重定向选择不同的URL(例如,客户ID会改变吗?),那么你需要澄清。
'page_id = 11'甚至没有在您的原始URI? – anubhava 2012-03-05 17:06:09
是的,我知道什么字符串的最后部分“保持”,并改变了那部分behinde。它的ajax页面随着WordPress的变化。 – 2012-03-06 15:59:27