如何在htacess中使用带有URL的问号

时间:2015-07-16 09:23:17

标签: .htaccess url short-url

我在.htaccess文件中使用此代码:

RewriteRule ^([0-9a-zA-Z].+)\.html$ view.php?question=$1 [L,QSA,NC]

显示如下what-is-your-name.html 但我想这样用:

what-is-your-name?.html

我该如何使用?

1 个答案:

答案 0 :(得分:0)

RewriteRule ^([0-9a-zA-Z].+).html$ view.php?question=$1 [L,QSA,NC]

  

什么 - 是 - 你 - name.html

您将收到$1 what-is-you-name

如果您将RewriteRule更改为

RewriteRule ^([0-9a-zA-Z].+)$ view.php?question=$1 [L,QSA,NC]

  

什么,是你的名?html的

您将收到与$1相同的内容(再次what-is-you-name,而不是"?")

所以,当您放置标志[QSA]时,您将收到

view.php?question=what-is-your-name&.html

如果您不想这样做,并且想要在PHP中收到问号,则应该urlencode()它。

然后你的链接应该是:

什么,是你的名称%3F.html

并使用您的第一个RewriteRule,您的php将收到: $ _GET ['问题'] - > "什么,是你的名"