Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 如何使用.htaccess创建漂亮的URL_Apache_.htaccess - Fatal编程技术网

Apache 如何使用.htaccess创建漂亮的URL

Apache 如何使用.htaccess创建漂亮的URL,apache,.htaccess,Apache,.htaccess,我正在使用.html扩展名创建我的整个应用程序,以使用jQueryAjax处理数据库。我已经创建了类似WordPress的项目结构,对于每个文件,我都有一个文件夹,在该文件夹中,我有一个index.html文件 在上面的图片中,我创建了user/equipment/index.html,在这个文件中显示了所有的设备,现在我想如果用户点击一个设备,那么URL应该是'domain.com/user/equipment/equipment title',文件应该叫做user/equipment/de

我正在使用.html扩展名创建我的整个应用程序,以使用jQueryAjax处理数据库。我已经创建了类似WordPress的项目结构,对于每个文件,我都有一个文件夹,在该文件夹中,我有一个index.html文件

在上面的图片中,我创建了user/equipment/index.html,在这个文件中显示了所有的设备,现在我想如果用户点击一个设备,那么URL应该是'domain.com/user/equipment/equipment title',文件应该叫做user/equipment/details/index.html

我相信这可以通过.htaccess文件来完成


对此问题的任何解决方案都将不胜感激。

好吧,您需要以您希望的方式将引用存储在该索引文件中,请求重写(您称为“.htaccess”的wo)无法为您做到这一点。为什么可以使用请求重写,所以在分布式配置文件(“.htaccess”)中,可以在内部重写传入的请求。为此,您需要从请求URL到详细信息页面的映射。如果映射只是在“设备”文件夹中找到的名称(您的问题不清楚),那么您确实可以简单地实现重写规则

这就是这样一个例子:

RewriteEngine on
RewriteRule ^/?user/equipment/(.*)/?$ /equipment/$1 [END]
当URL
https://example.com/user/equipment/equipment-title
被请求并且该文件存在


为此,必须在http服务器内启用重写模块,如果要使用分布式配置文件,还需要在http服务器内的该位置启用此类文件的解释。通常更好的选择是将这些规则放在真正的http服务器的主机配置中。

我已经启用了“重写”模块,我想要重写它的方式非常奇怪。因为我对所有设备和特定设备都有相同的URL路径,但是我在获取特定设备时传递了一个额外的参数,但它对我不起作用。重写规则^user/equipment/(.*)$./user/equipment/details/index.html这对我来说很有效。:)