由于.htaccess文件更改

时间:2017-05-19 18:43:47

标签: php apache .htaccess mod-rewrite

我一直在使用' .htaccess'要重写页面网址的外观,而不是: -

details.php?video=how+to+do+this&user=xxx

应该更像这样: -

/details/xxx/how+to+do+this

它的工作和所有,但问题来了;当我尝试添加一个不会一直有用的新的$ _GET类别时,就是"页面"得到变量,因为并非所有视频页面都有这个变量。因此,当我添加此变量时,没有设置任何内容,但它确实显示在URL中。

/details/xxx/how+to+do+this?page=2

以下是我用来重写其中一个面临此问题的页面的实际代码行。

RewriteRule ^user/(.*)/(.*)$ user.php?user=$1&view=$2

1 个答案:

答案 0 :(得分:2)

您可以使用:

RewriteRule ^user/(.*)/(.*)$ user.php?user=$1&view=$2  [NC,L,QSA]
  

QSA | qsappend 当替换URI包含查询字符串时,RewriteRule的默认行为是放弃现有查询   string,并将其替换为新生成的字符串。使用[QSA]   flag导致查询字符串被组合。   https://httpd.apache.org/docs/current/en/rewrite/flags.html