.htaccess拼图,需要帮助

时间:2014-03-11 10:37:29

标签: php .htaccess mod-rewrite

我有这个链接: 的index.php /论坛/ viewforum / 5 /

现在,我希望网址中的“论坛”字词变得动态,以至于我用它替换它,它仍会重定向到相同的网址。

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

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

换句话说,如果网址中有“查看论坛”字样,则应触发此重写。

我已经有了一个.htaccess,它从URL中删除了index.php,因此重写规则也应该考虑这一点。

有可能吗?

htaccess的:

<IfModule mod_rewrite.c>
RewriteEngine on


RewriteRule member http://%{HTTP_HOST}/404 [R=301,L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^[^/]+/(viewforum/[0-9]+/?)$ /forums/$1 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f

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

1 个答案:

答案 0 :(得分:0)

你的第二和第三条规则看起来很可疑。

拥有这样的完整代码:

RewriteEngine on

RewriteRule member http://%{HTTP_HOST}/404 [R=301,L]

RewriteCond %{REQUEST_URI} !^/forums/ [NC]
RewriteRule ^[^/]+/(viewforum/[0-9]+/?)$ /forums/$1 [L,NC,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(images|favicon\.ico|robots\.txt|index.php) [NC]
RewriteRule ^(.+)$ /index.php/$1 [L]