Regex 新的.htaccess难题

Regex 新的.htaccess难题,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我有这个链接: index.php/forums/viewforum/5/ 现在,我希望URL中的“论坛”这个词变得动态,这样无论我用哪个词替换它,它仍然会重定向到同一个URL 例如,如果我有: 产品A/viewforum/5/ 它重定向到: 论坛/viewforum/5/ 例如,如果我有: ProductB/viewforum/13/ 它重定向到: 论坛/viewforum/13/ 换句话说,如果URL中有“查看论坛”一词,它应该会触发此重写 我已经有了一个.HTAccess,它从URL中删除

我有这个链接: index.php/forums/viewforum/5/

现在,我希望URL中的“论坛”这个词变得动态,这样无论我用哪个词替换它,它仍然会重定向到同一个URL

例如,如果我有: 产品A/viewforum/5/ 它重定向到: 论坛/viewforum/5/

例如,如果我有: ProductB/viewforum/13/ 它重定向到: 论坛/viewforum/13/

换句话说,如果URL中有“查看论坛”一词,它应该会触发此重写

我已经有了一个.HTAccess,它从URL中删除了索引.php,所以重写规则也应该考虑。 可能吗

HTACCESS:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteEngine on

RewriteCond %{REQUEST_URI} (member)
RewriteRule ^(.*)$ http://%{SERVER_NAME}/404 [R=301,L]

RewriteRule ^[.*]+/(viewforum/[0-9]+/?)$ /forums/$1 [L,NC]

RewriteCond $1 !^(images|favicon\.ico|robots\.txt|index.php) [NC]
RewriteRule ^(.*)$ /home/ddco/public_html/index.php/$1? [L]  
</IfModule>

重新启动发动机
重新启动发动机
重写COND%{REQUEST_URI}(成员)
重写规则^(.*)$http://%{SERVER_NAME}/404[R=301,L]
重写规则^[.]+/(viewforum/[0-9]+/?)$/forums/$1[L,NC]
1美元^(图片| favicon\.ico | robots\.txt | index.php)[NC]
重写规则^(.*)$/home/ddco/public_html/index.php/$1?[L]

您可以使用此重写规则:

RewriteCond %{THE_REQUEST} /forums/ [NC]
RewriteRule ^ - [R=404,L]

RewriteRule ^[^/]+/(viewforum/[0-9]+/?)$ /forums/$1 [L,NC]

还建议您发布当前的.htaccess规则,以便进一步调查。

是否可以从URL中完全删除“论坛”?我的意思是,如果实际的URL被访问,在URL中有“论坛”,我需要从URL中删除“论坛”这个词。这不是你最初问题的一部分。如果有人进入
/index.php/forums/viewforum/5/
它应该变成什么?它不应该允许访问论坛。若在URL中使用论坛关键字,只需显示404错误!这是完整的htaccess文件:RewriteEngine On RewriteCond%{REQUEST_URI}(member)RewriteRule^(.*)$http://%{SERVER_NAME}/404[R=301,L]RewriteRule^[^/]+/(viewforum/[0-9]+/?)$/forums/$1[L,NC]RewriteCond$1^(images | favicon\.ico | robots\.txt | index.php)[NC]RewriteRule^(.*)$/home/domaina/public_html/index.php/$1?[五十] 很难在评论中阅读它,你可以编辑问题并在这里更新它(或者用这个新问题创建一个新问题)。