我需要将带有参数的动态网址重定向到子文件夹网址。 源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]
我尝试搜索整个网络,然而,没有解决方案/答案似乎适合这种特殊情况。 有谁可以提供帮助?
答案 0 :(得分:1)
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} !^lang=.+ [NC]
RewriteRule ^(.+?)/([^/]+)/?$ $1/?lang=$2 [L,QSA]