htacess重写URL以删除扩展名并重写为子文件夹

时间:2016-05-23 19:47:25

标签: .htaccess

我对htaccess代码很新。我想改写 www.mydomain.com/product.php?p=Printer 至 www.mydomain.com/product/printer 和所有其他没有参数的网址 www.mydomain.com/faq.php到www.mydomain.com/faq 我尝试了什么

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ $1.php [nc]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)$ product.html?p=$1

我已将上面的代码改为自己,这就是为什么他们不工作。

1 个答案:

答案 0 :(得分:0)

好的,首先你要重写.htaccess上的.html文件,但你使用的是php,所以添加这行代码,将从你的所有页面中删除.php (请记住从所有内部链接中删除.php)

RewriteRule ^([^\.]+)$ $1.php [NC,L]

那么这段代码应该注意product.php?p = Printer

 RewriteRule product/?([a-zA-Z-]+) product.php?id=$1 

(再次将product.php?p =打印机从所有内部链接更改为产品/打印机)

在product.php页面上,您必须添加一个基本标记,以消除将product /添加到每个链接的问题。  在您的html head部分中输入此代码

<base href="http://your_domain/">