htaccess 文件以在查询字符串中使用正斜杠而不是 ?、= 和 & 符号?
htaccess file to use forward slash instead of ?, = and & signs in query string?
我正在创建一个小型电子商务网站。我们有一个项目列表,用户可以单击该列表并浏览有关该项目的信息。我在查询字符串中传递了项目 ID 和一些其他信息,因此在下一页上我可以从数据库中获取相关数据。
现在我们有以下 URL 默认结构:
www.somedomain.com/item.php?id=1&some1=somevalue&some2=somevalue
但我想要 URL 这样的:
www.somedomain.com/item/1/somevalue/somevalue
其中 item
是 item.php
,/1/somevalue/somevalue
是查询字符串 ?id=1&some1=somevalue&some2=somevalue
。我想要我的整个网站查询字符串参数,如上所示。
我正在使用核心 PHP,没有框架。我用 .htaccess
文件做了一些,但服务器在加载网站时出错。如何使用 .htaccess
文件执行此操作?
尝试下面的方法,我使用 mod_rewrite 来实现结果,如果使用之前的任何尝试,请清除缓存。
下面还将涵盖“_”下划线,之后的下一条规则将仅适用于一项。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z\_]+)/([0-9]+)/([a-zA-Z]+)/([a-zA-Z]+)$ .php?id=&some1=&some2= [L]
RewriteRule ^([a-zA-Z\_]+)/([0-9]+)$ .php?item=[L]
我正在创建一个小型电子商务网站。我们有一个项目列表,用户可以单击该列表并浏览有关该项目的信息。我在查询字符串中传递了项目 ID 和一些其他信息,因此在下一页上我可以从数据库中获取相关数据。
现在我们有以下 URL 默认结构:
www.somedomain.com/item.php?id=1&some1=somevalue&some2=somevalue
但我想要 URL 这样的:
www.somedomain.com/item/1/somevalue/somevalue
其中 item
是 item.php
,/1/somevalue/somevalue
是查询字符串 ?id=1&some1=somevalue&some2=somevalue
。我想要我的整个网站查询字符串参数,如上所示。
我正在使用核心 PHP,没有框架。我用 .htaccess
文件做了一些,但服务器在加载网站时出错。如何使用 .htaccess
文件执行此操作?
尝试下面的方法,我使用 mod_rewrite 来实现结果,如果使用之前的任何尝试,请清除缓存。
下面还将涵盖“_”下划线,之后的下一条规则将仅适用于一项。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z\_]+)/([0-9]+)/([a-zA-Z]+)/([a-zA-Z]+)$ .php?id=&some1=&some2= [L]
RewriteRule ^([a-zA-Z\_]+)/([0-9]+)$ .php?item=[L]