我想在我正在使用的网站上使用以下RESTful URL。
http://mysite.com/Products/category=bags&colours=black
任何人都可以告诉我如何用.htaccess实现这个目标吗?
的奥斯卡
答案 0 :(得分:6)
这是一个.htaccess来捕获任何东西,除非文件或目录冲突并且它路由到/index.php:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我们可以使用/index.php作为我们的请求路由器。在PHP中,我们只是得到这样的请求:
<?php
$url_path = $_SERVER['REQUEST_URI'];
// Parse your URL path here...
那就是说,你的网址模式是非标准的,我真的建议反对它,因为代理和浏览器会对&符号和等号进行URL编码。让我建议以下之一(并使用小写,因为它有助于验证URL):
http://example.com/products/categories/bags/colours/black
http://example.com/products/category_bags/colours_black
http://example.com/products?category=bags&colours=black
http://example.com/products/categories/bags?colours=black
http://example.com/products/bags?colours=black
要查看会在网址路径中编码的内容只是Google,并查看Google的搜索网址。
希望这有帮助。
-Mike