我试图用我的网站中的破折号替换所有下划线。我面临一些问题。
问题 1
以下是我网站中的网址
http://localhost/uk_london when clicked redirects to http://localhost/uk-london
但下面的 url 在 url 末尾添加了一个额外的破折号并返回 404 错误
http://localhost/united_states http://localhost/united-states- (gives 404)
当我在最后删除破折号时,它可以正常工作。
问题 2
只有当 url 中只有一个段时,才会替换破折号。在下面的 url 中,没有一个下划线被替换为破折号。
http://localhost/london_uk/city/products_availability_london
下面是我在 htaccess 中的代码
RewriteEngine On
RewriteBase /
RewriteRule ^assets - [L,NC]
RewriteRule !\.(html|php)$ - [S=4]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes]
RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes]
RewriteCond %{ENV:uscor} ^Yes$
我是 htaccess 新手,想知道是什么导致了这些问题。任何解决问题的帮助将不胜感激