3

我需要将带有参数的动态 URL 重定向到子文件夹 URL。源 URL 的长度/级别可能不同。

一个例子是:

资源:

http://www.example.com/dir/?lang=en

期望:

http://www.example.com/dir/en

另一个是:

资源:

http://www.example.com/dir/subdir/?lang=en

期望:

http://www.example.com/dir/subdir/en

我正在使用 WordPress,因此我的 中存在一些现有代码.htaccess,有问题的重定向需要使用这些代码。我现有的.htaccess看起来像这样:

RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

我尝试搜索整个网络,但是,似乎没有解决方案/答案适合这种特殊情况。有高手可以帮忙吗?

4

1 回答 1

1

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} !^lang=.+ [NC]
RewriteRule ^(.+?)/([^/]+)/?$ $1/?lang=$2 [L,QSA]
于 2013-08-26T19:17:22.393 回答