[英]rewriterule is not working in .htaccess file
我正在使用.htacess文件重写URL。 我已经写了起作用的rewritrule。 但是它的一个问题。 那就是当页面完全加载后,浏览器中的url再次以querystring格式更改。 我的代码如下。 请帮助我如何设置它。
RewriteRule ^/?([0-9]+)/([A-Za-z,0-9,-]+)/?$ /mysite.com/player.php?/$1/$2 [R]
我写这个网址
www.mysite.com/4/title
并重定向到
www.mysit.com/player.php?/4/title
它的工作正常,但当页面完全加载到浏览器地址中时再次出现
www.mysite.com/player.php?/4/title
不保留此格式
(www.mysit.com/4/title)
请帮助谢谢。
通过设置R标志将您重定向到错误的URL。 这表明应该强制进行外部重定向。 您可以改为添加L标志,因此在此之后不会执行任何重写规则:
RewriteRule ^/?([0-9]+)/([A-Za-z,0-9,-]+)/?$ /mysite.com/player.php?/$1/$2 [L]
[R]
标志使您可以物理重定向到新地址,而不仅仅是在后台重写URL。
RewriteRule ^/?([0-9]+)/([A-Za-z,0-9-]+)/?$ /mysite.com/player.php?/$1/$2
这应该工作。 另外,看起来您正在使用,
作为重写中的分隔符-不必要,您不需要在char类型之间使用分隔符; 你实际上匹配,
在URL中。 如果这是设计的行为,则只需一个逗号(您就有2个)。
首先,您需要遵循以下规则:
RewriteEngine On
RewriteRule ^([0-9]+)/([A-Za-z,0-9,-]+)/?$ /player.php?/$1/$2 [L,QSA]
然后确保在您的css,js,图像文件中使用绝对路径,而不要使用相对路径。 这意味着您必须确保这些文件的路径以http://
或斜杠/
开头。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.