0

我刚刚建立了一个新网站并将其中一个类别拼写为autimobiles而不是automobiles- 我知道这很荒谬。我为包含要重定向到的子字符串的任何 URL设置了.htaccess301 重定向。因此,应该将URI重定向到. 然而,这就是正在发生的事情......autimobilesautomobiles/autimobiles/BMW-pictures/automobiles/BMW-pictures

http://imageocd.com/autimobiles/hupmobile-touring-pictures-and-wallpapers

正在重定向到这个

http://imageocd.com/automobiles/hupmobile-touring-pictures-and-wallpapers?one=autimobiles&two=hupmobile-touring-pictures-and-wallpapers

这是我的.htaccess设置方式。

我有两个$_GET['']名为$_GET['one']&&的变量$_GET['two']用于 mod 重写。这两个变量$_GET['']在重定向时显示为 URI 中的变量。我想?one=autimobiles&two=hupmobile-touring-pictures-and-wallpapers从 URI 中删除 。

这是我的.htaccess

# Important line HERE
RedirectMatch permanent autimobiles(.*) http://imageocd/automobiles$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+) index.php?one=$1&two=$2 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-]+) index.php?one=$1 [NC,L]

更新于.htaccess

RewriteCond %{QUERY_STRING} ^autimobiles(.*)$
RewriteRule ^autimobiles(.*)$ http://imageocd.com/automobiles$1 [R=301,L]

#load-data (2) -- index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+) index.php?one=$1&two=$2 [NC,L]

#load-data (1) -- index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-]+) index.php?one=$1 [NC,L]
4

1 回答 1

1

如果我正确理解您的问题...此代码:

RewriteEngine On
RewriteRule ^autimobiles/(.*)$ http://temp/automobiles/$1 [R=301,L]

从 重定向/autimobiles/BMW-pictures/automobiles/BMW-pictures


编辑:
你写道:How to remove "?one=autimobiles&two=hupmobile-touring-pictures-and-wallpapers" From the end of the URL. The redirection works, but it appends bot get variables on the URL

如果您只想在此路径上使用汽车删除此标签.. 所以请在您的行中添加以下语句:

RewriteRule ^autimobiles(.*)$ http://imageocd.com/automobiles$1 [R=301,L]

#load-data (2) -- index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} !^automobiles(.*)$
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+) index.php?one=$1&two=$2 [NC,L]

#load-data (1) -- index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} !^automobiles(.*)$
RewriteRule ^([a-zA-Z0-9-]+) index.php?one=$1 [NC,L]
于 2012-09-09T17:11:28.917 回答