正向删除和重定向规则干扰

时间:2014-12-26 22:49:59

标签: .htaccess mod-rewrite redirect

我目前有两个可能干扰的重定向规则

第一条规则需要domain.com/star/name-here并使用domain.com/star.php?view=name-here并在domain.com/star/name-here显示数据

名称 - 这是从数据库中提取数据以构建页面的内容。

由于SEO的原因,下一条规则会从网址末尾删除所有正斜杠。

输入domain.com/star/name-here/时会出现问题,数据仍会显示,但网址最终为domain.com/star/name-here?view=name-here/

这些规则可以共存吗?

Options +FollowSymLinks
RewriteEngine On  
RewriteRule   ^star/(.+)$   star.php?view=$1 [NC]
RewriteRule ^(.*)/$ /$1 [R=301,L]

2 个答案:

答案 0 :(得分:0)

可以使用:

Options +FollowSymLinks
RewriteEngine On  
RewriteRule ^star/(.+)/?$ star.php?view=$1 [NC,L]
RewriteRule ^(.*)/$ /$1 [R=301,L]

答案 1 :(得分:0)

您需要重定向优先,并且您需要确保不重定向目录请求,否则mod_dir将导致重定向循环:

Options +FollowSymLinks -Multiviews
RewriteEngine On  
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]
RewriteRule ^star/(.+)$ star.php?view=$1 [NC,L]

此外,这里要做的一件好事是确保关闭多视图。