我目前正在努力为非常具体的网址制作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]
对此的任何帮助都将非常感激。
答案 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]