繁体   English   中英

htacces重写url不起作用

[英]htacces rewrite url not working

我有以下.htaccess代码:

Options +FollowSymlinks
# Prevent Directoy listing 
Options -Indexes
# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
RewriteRule ^products/(.*)/(.*)$ product_details.php?id=$1&name=$2 [L,QSA]

我的页面product_details.php是一个单独的页面,index.php中列出的产品通过以下链接引用:

<a href="product_details.php?id=<?php echo $prod['product_id'];  ?>&name=<?php echo friendlyURL($prod['name']);  ?>"

结果如下: http : //www.imprimanteetichete.ro/product_details.php?id=1&name= imprimanta-de-etichete-zebra-105sl-plus- 203dpi

我已经对Rewrite规则尝试了许多不同的技术,但是它不起作用。 我是.htaccess的新手,但这似乎是基本的事情。

我究竟做错了什么?

尝试改变

RewriteEngine On
RewriteBase /

要么

RewriteBase http://example.com/
RewriteRule ^products/([0-9]+)/([a-zA-Z0-9\-_]+)$ product_details.php?id=$1&name=$2 [L,QSA]

您可以具有以下规则:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+product_details\.php\?id=([^\s&]+)&name=([^\s&]+) [NC]
RewriteRule ^ /products/%1/%2? [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^products/([^/]+)/([^/]+)/?$ /product_details.php?id=$1&name=$2 [L,QSA]

暂无
暂无

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

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