Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
.htaccess HTACCESS 301 Joomla至Wordpress_.htaccess - Fatal编程技术网

.htaccess HTACCESS 301 Joomla至Wordpress

.htaccess HTACCESS 301 Joomla至Wordpress,.htaccess,.htaccess,需要有关.htaccess和301重定向的帮助 目前我在Joomla上的网站有以下格式的url http://www.example.com/indian/bombay-grill.html 我正在移动到wordpress平台,我选择的主题可以通过这种方式显示到url http://www.example.com/restaurants/indian/bombay-grill/ 注意url中添加了“餐馆”和删除的“.html”。当然,这也适用于墨西哥、泰国、越南等国 我的url已经被编入索

需要有关.htaccess和301重定向的帮助

目前我在Joomla上的网站有以下格式的url

http://www.example.com/indian/bombay-grill.html 
我正在移动到wordpress平台,我选择的主题可以通过这种方式显示到url

http://www.example.com/restaurants/indian/bombay-grill/
注意url中添加了“餐馆”和删除的“.html”。当然,这也适用于墨西哥、泰国、越南等国

我的url已经被编入索引,排名也很好,我担心改变结构会很糟糕


有没有比使用.htaccess更好的方法?

超文本访问可以工作,但它并不总是可行的

例如,如果您的其他路线有两个区段(即非
地区/餐厅
),您将遇到问题:在使用通用的“一网打尽”规则时,您永远不会希望
关于/overview.html
重定向到
餐厅/about/overview/
(仅为示例)

但是,如果该错误不适用于您的站点,则您可以简单地使用以下方法:

RewriteRule ^([a-zA-Z-]+)/([a-zA-Z-]+).html$ restaurants/$1/$2 [R=301,L]
尽管如此,如果只有几个路由会发生冲突,那么您可以通过为每个路由指定格式,在捕获上述所有路由之前捕获这些路由。这可能很乏味,但由于您网站的原始结构,有必要:

RewriteRule ^(about/overview)\.html$ $1 [L]
或者,如果任何非餐厅页面只有一个段(即路线中的任何位置都没有正斜杠),则使用通用的catch all:


+1孟买烤架有一个
-
,你也应该考虑到这一点。另外,我喜欢你很好的解释,很好的解决方案。你能为“about/overview.html”提供一个解决方案吗?如何处理这种情况?我已经编辑了我的答案,加入了一个简单的方法。很高兴它对你有用。
RewriteRule ^([a-zA-Z0-9\-])\.html$ $1 [L]