Php .htaccess重写重定向
我在.htaccess文件中有一些使用重写引擎的代码,它为我的SERP指定了目录。然而,当某人进入搜索/查询/而不是搜索/查询/页面/时,它会显示404错误。与刚才的search/相同 我希望这样,如果有人只是去搜索/查询/它重定向到搜索/查询/1/和只是搜索/它重定向到我的主页/。我在下面附上了我的代码副本Php .htaccess重写重定向,php,.htaccess,Php,.htaccess,我在.htaccess文件中有一些使用重写引擎的代码,它为我的SERP指定了目录。然而,当某人进入搜索/查询/而不是搜索/查询/页面/时,它会显示404错误。与刚才的search/相同 我希望这样,如果有人只是去搜索/查询/它重定向到搜索/查询/1/和只是搜索/它重定向到我的主页/。我在下面附上了我的代码副本 RewriteEngine on RewriteRule ^search/([^/]+)/([^/]+)/?$ search.php?q=$1&category=web&d
RewriteEngine on
RewriteRule ^search/([^/]+)/([^/]+)/?$ search.php?q=$1&category=web&d=$2
有人能帮我解决这个问题吗
提前感谢您,Callum您可以创建多个RewriteRule语句来完成此任务。如果使用中间规则,请确保省略[R]标志
您发布的规则只有在其格式为/search/query/n/时才会重写,因此请编写一个与search/query匹配的正则表达式,将其重定向到/search/query/1。执行相同的操作,无需查询即可重定向回家。在.htaccess文件中尝试以下两条规则:
RewriteRule ^search/([^/]+)/$ /search/$1/1/ [R=301,L]
RewriteRule ^search/?$ / [R=301,L]
在htaccess中尝试以下代码:
RewriteEngine on
RewriteRule ^search/?$ / [R=301,L]
RewriteRule ^search/([^/]+)/?$ /search/$1/1/ [R=301,L]
RewriteRule ^search/([^/]+)/([0-9]+)/?$ search.php?q=$1&category=web&d=$2 [NC,L]