将2个url参数重写为目录

时间:2018-06-26 09:50:22

标签: wordpress .htaccess mod-rewrite url-rewriting

我有一个WordPress网站,并且在一页上嵌入了一个动态vimeo视频。我们使用2个url参数嵌入视频并设置页面标题。

我们想重写此url,以便它看起来是目录而不是参数

  

当前网址: / video?id = 264243188&title = Testing

     

所需的URL :/ video / 264243188 /测试

当前的.htaccess:

 # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_URI} /video [NC]
RewriteCond %{QUERY_STRING} id=(.*)&title=(.*)
RewriteRule (.*)  /video/%1/%2? [R=301,NE,L]

#RewriteEngine On
#RewriteRule ^video/([^/]*)/([^/]*)$ /video?id=$1&title=$2 [L]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
# END WordPress

1 个答案:

答案 0 :(得分:1)

您可以具有以下重写规则

RewriteCond %{REQUEST_URI} /video [NC]
RewriteCond %{QUERY_STRING} id=(.*)&title=(.*)
RewriteRule (.*)  /video/%1/%2? [R=301,NE,L]

相同的工作示例在.htaccess tester

它将http://example.com/video?id=264243188&title=Testing重定向到http://example.com/video/264243188/Testing

如果要将路径转换为查询字符串,则可以使用以下重写规则

RewriteRule ^video/([^/]+)/?([^/]+)/? video?id=$1&title=$2 [R=301,NE,L]

Tester link