也用 htaccess 带参数重写路径

问题描述

我想使用 htaccess mod rewrite 重写我的网站的路径,也带参数。所以,我希望我的网站执行如下操作:

mysite.com/chat.PHP?a=text&b=1&c=2&d=text

当我写这个路径时:

mysite.com/chat/text/1/2/text

我该怎么做?

这是我现在的 htaccess,但它不起作用:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^chat/([a-z]+)/([0-9]+)/([0-9]+)/([a-z]+)$ chat.PHP?n=$1&c=$2&s=$3&b=$4 [QSA]

解决方法

您能否尝试仅使用显示的示例进行以下、编写和测试。 请确保在测试您的网址之前清除浏览器缓存。

RewriteEngine ON
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ $1.php?a=$2&b=$3&c=$4&d=$5 [L]


或查找以 chat 开头的 URL,请尝试以下操作。请确保您使用上述规则或一次只遵循一组规则。

RewriteEngine ON
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(chat)/([^/]*)/([^/]*)/([^/]*)$ $1.php?a=$2&b=$3&c=$4&d=$5 [NC,L]