htaccess seo友好的网址,mod重写,重定向

时间:2014-03-22 10:37:22

标签: apache .htaccess mod-rewrite redirect

我目前正在努力为非常具体的网址制作SEO友好网址,而不是所有网址。我已经在这48小时没有运气了。我的目标是让http://mydomain.com/index.php?p=g&id=1看起来像这样; http://mydomain.com/pageone/ - 到目前为止,我已经能够实现重定向,但它显示了404"在此服务器上找不到请求的URL / pageone /#34;。我的问题是如何将其重定向到虚拟目录而不是抛出404。

请注意我想为每个页面ID添加规则,而不是更改index.php的所有内容的规则?p = g& id =,只是每个特定的链接。

以下是我的htaccess代码:

Options +FollowSymLinks
Options -Multiviews
RewriteOptions MaxRedirects=1
RewriteEngine On 
RewriteCond %{QUERY_STRING}  ^p=g&id=1$ [NC]
RewriteRule ^index\.php$ /pageone/? [r=301,nc]

对此的任何帮助都将非常感激。

1 个答案:

答案 0 :(得分:1)

您已将index.php重定向到/pageone/,但未定义/pageone/实际显示的内容。您应该将以下行添加到.htaccess

RewriteRule ^pageone/?$ index.php?p=g&id=1 [L]

并删除您的规则。如果您想同时保留RewriteRule,请在RewriteEngine On之后添加以下行:

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]