繁体   English   中英

为什么我的代码mod重写.htaccess不起作用?

[英]Why my code mod rewrite .htaccess not work?

为什么我的代码mod重写.htaccess不起作用?

我测试加载页面www.example.com/products_type/ipod/black

当我加载页面时,它没有回显products nameproducts color

我怎样才能做到这一点 ?

这是我的代码products_type.php

<?PHP
session_start();
include("connect.php");
echo $_GET[products_name];
echo $_GET[products_color];
?>

这是我的代码.htaccess

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^products/([^-]*)/([^-]*)$ /products.php?products_name=$1&products_id=$2 [L]
RewriteRule ^products_type/([^-]*)/([^-]*)$ /products_type.php?products_name=$1&products_color=$2 [L]
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
ErrorDocument 404 /404.php

采用

$_GET['products_name'];
$_GET['products_color'];

通过不引用它们,它们被视为常量

您的规则混乱。 保持这样的规则:

ErrorDocument 404 /404.php
RewriteEngine on

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

RewriteRule ^products/([^-]*)/([^-]*)$ products.php?products_name=$1&products_id=$2 [L,QSA]
RewriteRule ^products_type/([^/]+)/([^/]*)/?$ products_type.php?products_name=$1&products_color=$2 [L,QSA]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM