如何在mod_rewrite中将get方法参数更改为段?

时间:2014-11-18 10:56:30

标签: php .htaccess

我有这样的网址。

http://localhost:8080/computer/products.php?cid=3

我必须通过以下细分来修改。

http://localhost:8080/computer/products/3

有没有办法在mod重写中转换成段。

3 个答案:

答案 0 :(得分:2)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteRule ^([\w-]+)/([\w-]+)/(\d+)/?$ /$1/$2.php?cid=$3 [L,QSA]

答案 1 :(得分:0)

您可以尝试使用.htaccess中的这个简单代码

RewriteEngine on RewriteRule ^ / computer / products /([0-9] +)$ /computer/products.php?cid=$1

希望我帮助你。 马可

答案 2 :(得分:0)

在.htaccess文件中尝试此操作:

Options +FollowSymLinks
RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^computer/(\w+)/(\w+)$ computer/$1.php?cid=$2 [L,PT]

您可以使用regex backreferences从原始网址转移任何部分。

在你的情况下:

^computer/ (\w+) /         (\w+) $
           ⇓               ⇓
computer/  $1    .php?cid= $2

具体情况:

computer/ products /         3
          ⇓                  ⇓
computer/ products .php?cid= 3

如果这不起作用,请检查.htaccess文件是否已启用:

AllowOverride All

或者,您可以将重写代码放在apache配置文件中。