为什么我的代码mod重写.htaccess
不起作用?
我测试加载页面www.example.com/products_type/ipod/black
当我加载页面时,它不是回显products name
和products 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
答案 0 :(得分:2)
答案 1 :(得分:1)
您的规则无序。遵守这样的规则:
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]