Apache 在.htaccess';行不通
在.htaccess文件中,我有不同的规则,它们单独工作很好,但合并到一个文件中就不行了。 以下是我的文件的一些示例:Apache 在.htaccess';行不通,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,在.htaccess文件中,我有不同的规则,它们单独工作很好,但合并到一个文件中就不行了。 以下是我的文件的一些示例: # take care of %C2%A0 RewriteRule ^(.+)\xc2\xa0(.+)$ $1-$2 [L,NE] # executes **repeatedly** as long as there are more than 1 spaces in URI RewriteRule "^(\S*) +(\S* .*)$" $1-$2 [L,NE] # ex
# take care of %C2%A0
RewriteRule ^(.+)\xc2\xa0(.+)$ $1-$2 [L,NE]
# executes **repeatedly** as long as there are more than 1 spaces in URI
RewriteRule "^(\S*) +(\S* .*)$" $1-$2 [L,NE]
# executes when there is exactly 1 space in URI
RewriteRule "^productdetails/617/6/(\S*) (\S*?)/?$" /$1-$2/302 [L,R=302,NE]
此外,我还有以下几点:
RewriteCond %{QUERY_STRING} ^pid=617/?$
RewriteRule ^productdetails\.asp$ /Casio-CDP120-Digital-Piano-in-Black/302? [L,NC,R=301]
RewriteRule "^categories/3/Kawai Digital Pianos/?$" /Compare/Kawai-Digital-Pianos [L,NC,R=301]
它仍然可以正常工作。
我现在补充如下:
RewriteCond %{QUERY_STRING} ^pid=617/?$
RewriteRule ^productdetails\.asp$ /Casio-CDP120-Digital-Piano-in-Black/302? [L,NC,R=301]
RewriteRule "^categories/3/Kawai Digital Pianos/?$" /Compare/Kawai-Digital-Pianos [L,NC,R=301]
用于重写:
mysite.co.uk/categories/3/Kawai%20Digital%20Pianos/ to mysite.co.uk/Compare/Kawai-Digital-Pianos
这已经不起作用了
最后一条规则与其他规则结合使用的任何帮助都将非常有用您只需确保规则的顺序正确即可。对于您的示例,以下顺序应该有效:
RewriteRule "^categories/3/Kawai Digital Pianos/?$" /Compare/Kawai-Digital-Pianos [L,NC,R=301]
RewriteCond %{QUERY_STRING} ^pid=617/?$
RewriteRule ^productdetails\.asp$ /Casio-CDP120-Digital-Piano-in-Black/302? [L,NC,R=301]
# take care of %C2%A0
RewriteRule ^(.+)\xc2\xa0(.+)$ $1-$2 [L,NE]
# executes **repeatedly** as long as there are more than 1 spaces in URI
RewriteRule "^(\S*) +(\S* .*)$" $1-$2 [L,NE]
# executes when there is exactly 1 space in URI
RewriteRule "^productdetails/617/6/(\S*) (\S*?)/?$" /$1-$2/302 [L,R=301,NE]
真是太棒了,这是一种享受。再次感谢你今天的帮助。否则的话,这将是一个漫长的深夜。