Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Wordpress 如何使用.htaccess重写规则将下划线更改为连字符_Wordpress_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Wordpress 如何使用.htaccess重写规则将下划线更改为连字符

Wordpress 如何使用.htaccess重写规则将下划线更改为连字符,wordpress,apache,.htaccess,mod-rewrite,Wordpress,Apache,.htaccess,Mod Rewrite,当我尝试这样做时,我只重定向到我的站点根目录 例如: https://example.com/video_cat/a-respiratory/ 我希望所有下划线都替换为-(连字符),但当我尝试此操作时,会重定向到https://example.com 这是我的.htaccess配置 RewriteEngine On RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L] RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=

当我尝试这样做时,我只重定向到我的站点根目录

例如:

https://example.com/video_cat/a-respiratory/
我希望所有下划线都替换为
-
(连字符),但当我尝试此操作时,会重定向到
https://example.com

这是我的
.htaccess
配置

 RewriteEngine On

 RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L]
 RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301]
完成
.htaccess
文件:
你清除浏览器缓存了吗?您的
.htaccess
文件中还有其他内容吗?还有其他
.htaccess
文件吗?您发布的指令无法导致此重定向,因此有其他原因触发此重定向。我清除了缓存。您必须有其他原因导致重定向到root。单独而言,您发布的指令应该“有效”。(虽然它们不是最有效的,因为它们会触发每个字符替换的外部重定向。而且您只需要其中一个指令-它们都做相同的事情。但是这些问题是您看到的错误重定向的次要问题。)您如何路由URL?我假设
/video\u cat/a-restorial/
(或
/video cat/a-restorial/
)未映射到物理文件/目录,因此您可能有某种前端控制器?请阅读我上面的评论,如果没有更多信息,我们将无法提供帮助。可能是
#BEGIN CORS access to staging environments

   #start start's here
   Options +FollowSymLinks
   RewriteEngine on
  #RewriteRule ^([^_]*)_+(.*)$ /$1-$2-$3 [L,NC,R=302]

  RewriteBase / 
  RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L]
  RewriteRule