我想通过htaccess进行重定向301,但由于某些原因它不起作用,因为我在htaccess中有更多规则,但是如果我删除它们并且只留下重定向就可以了。
任何想法?..
Options +FollowSymLinks
RewriteEngine On
ErrorDocument 404 error.php
RewriteRule ^sitemap.xml sitemap.php
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteRule (.*) seoPage.php?w=%{REQUEST_URI}
答案 0 :(得分:0)
将重定向放在第一位。
在htaccess中,第一个匹配规则起作用 因此,可能会有另一条规则覆盖此规则。
答案 1 :(得分:0)
在我看来,你在整个文件中都没有做301。 301应该看起来像这样
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteRule (.*) seoPage.php?w=%{REQUEST_URI} [L,R=301]
强调 R = 301 。检查this page。详细描述了重写规则的每个部分的含义。或者,您可以查看documentation for .htaccess files。
lvil也有一个好处。