好的我想模拟YouTube网址并将其重定向到我的真实网址。原因是我使用随机字符串来制作视频ID,因此它们无法通过序列进行猜测。 我有这样的链接
http://www.mysite.com/watch?v=Dxdotx3iT1
并希望重定向到
http://www.mysite.com/index.php?page=videos§ion=view&v=Dxdotx3iT1
似乎无法弄清楚mod重写。还用了?我相信它会做点什么。
任何帮助都将不胜感激。
答案 0 :(得分:4)
您需要使用[QSA](附加查询字符串)标记调整RewriteRule以包含查询字符串:
RewriteRule ^watch$ index.php?page=video§ion=view [QSA]
答案 1 :(得分:0)
RewriteCond %{QUERY_STRING} ^v=(.+)
RewriteRule ^watch /index\.php?page=videos§ion=view&v=%1 [QSA,R=301,L]
答案 2 :(得分:0)
这些答案都不对我有用,所以最终我通过反复试验发现以下对我有用;
获取我的URL的RewriteRule如下https://www.example.com/video/watch?v=UnIq3Id;
RewriteRule ^/?([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ index.php?page=$1&v=$2
我发现我之前设置的以下规则使我的网址看起来像https://www.example.com/video/UnIq3Id,这会干扰我的重定向;
#RewriteRule ^/?([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ index.php?page=$1&v=$2
只需将其注释掉即可解决此问题,如下所示;
RewriteRule ^watch\?*$ index.php?page=video [L,QSA]
使我的URL看起来像https://www.example.com/watch?v=UnIq3Id的RewriteRule如下;
RewriteRule ^([A-Za-z0-9_-]+)/?$ index.php?page=$1 [NC]
我发现我之前设置的以下规则使我的网址看起来像https://www.example.com/video/,这会干扰我的重定向;
#RewriteRule ^([A-Za-z0-9_-]+)/?$ index.php?page=$1 [NC]
只需将其注释掉即可解决此问题,如下所示;
<question
v-for="question in questions"
v-bind:id="question.id"
v-bind:title="question.title"
v-bind:statement="question.statement"
v-bind:interaction="question.interaction"
@onchange-vg="onChangeVg"/>
</question>
希望它可以帮助某人并为您节省我的头痛,有时How do you write an htaccess RewriteRule to make my urls work like youtube?上人们对此问题的看法并不那么乐观。