应该是直截了当的。 http://example.com/denver-cars/未重定向到http://example.com/newcars-in-denver/。它只是尝试加载/ denver-cars /和denver-cars在URL中。我在这里错过了什么吗?我试过在规则列表中上下移动它并尝试了多种类型的标志无济于事。有人解释我的3小时问题需要10秒才能解决?
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
# Force www
RewriteCond %{HTTP_HOST} ^site.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
# Redirect google index dir's to new dir
RewriteRule ^/(.*)-cars/ /newcars-in-$1/ [NC,R=301,L]
# Disable rewrite for Folder Names
RewriteCond %{REQUEST_FILENAME} [NC,OR]
RewriteCond %{REQUEST_FILENAME} [NC,OR]
RewriteCond %{REQUEST_URI} ^awstats
RewriteRule .* - [L]
# Permit pretty URL directories
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . / [L]
## Allow image hotlinks from my domains
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com?.*$
RewriteRule .*\.jpg$ - [F,L]
答案 0 :(得分:0)
你的正则表达式中有一个领先的斜杠。用于匹配htaccess文件中的规则的URL删除了前导斜杠,因此^/(.*)
永远不会匹配任何内容。你想要:
RewriteRule ^(.*)-cars/ /newcars-in-$1/ [NC,R=301,L]