【发布时间】:2016-02-18 19:33:10
【问题描述】:
目前我正在使用
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
例如将http://localhost/products.php 重写为http://localhost/products
我将如何添加以便它还将http://localhost/products.php?category=all 重写为http://localhost/products/all/
我并没有完全理解代码。谢谢!
【问题讨论】:
-
你在向后看。您不会将丑陋的 url 改写成漂亮的。您的代码应该将漂亮的代码发送给客户端,例如
<a href="/products/all/">,然后将它们转换回丑陋的内部使用。 modwrite 只处理传入的 url。它不会翻译 OUTGOING 的。 -
是的,这是有道理的,谢谢。尽管我相当确定我当前的 htaccess 代码已经做到了这一点吗?我只是理解它做错了什么?
-
你应该有
rewriterule ^/(.*)/(.*)$ $1.php?category=$2或类似的地方。
标签: php apache .htaccess mod-rewrite url-rewriting