繁体   English   中英

htacess重写不将原始URL重定向到seo友好

[英]htacess rewrite not redirecting original url to seo friendly

我已经重写了htacess规则以创建seo友好的url。

我成功地将我的网址从/abc.php?lType=x更改为/abc/x/

但是当我打开/abc.php?lType=x它仍然可以工作..我想将其重定向到/abc/x/以避免重复的页面。

Options +FollowSymLinks
RewriteEngine On 

RewriteRule ^abc.php?lType=([a-zA-Z0-9]+) /abc/$1 [R=301,L]

RewriteRule ^abc/([a-zA-Z0-9]+)/?$ abc.php?lType=$1 [L,QSA]

帮助将不胜感激。

谢谢

编辑在本地主机上工作

请问有帮助吗? :)

Options +FollowSymLinks
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^abc/([a-zA-Z0-9]+)/?$ abc.php?lType=$1 [L,QSA]

我认为不需要第一个重写规则...这就是错误。 我没有检查我的答案,而是亲自写出来,所以必须检查:)。 最好的祝福!

您无法在重写规则中与查询字符串匹配,因此您的模式^abc.php?lType=([a-zA-Z0-9]+)将始终失败。 ? 是一个正则表达式保留字符,表示前一个字符或不包含前一个字符。 在这种情况下,您需要与%{THE_REQUEST}进行匹配。

RewriteCond %{THE_REQUEST} \ /+abc.php\?lType=([a-zA-Z0-9]+)
RewriteRule ^ /abc/%1? [R=301,L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM