我正在我的网站上工作,我创建了一些新的网页,解释了我网站的更多细节。现在为了seo目的,我知道谷歌更喜欢包含关键词的链接。所以我正在制作的页面可以称为新鞋。现在我已经将这些页面作为website.com/newshoes工作但是因为谷歌可能会将其视为一个单词,我正在努力使其显示为使用htaccess显示website.com/new-shoes但是我无法得到它工作。这就是我提出的,但它没有用。
RewriteRule ^([^/]*)-([^/]*)$ /index.php?$1$2 [QSA,L]
所以,任何人都可以帮助我。谢谢!
[编辑]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^reflap\.com [NC]
RewriteRule (.*) http://www.reflap.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ /index.php?$1 [QSA,L]
RewriteRule ^([^/]*)/$ /index.php?$1 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)$ /index.php?$1&$2 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?$1&$2 [QSA,L]
RewriteRule ^/facebook-chat/ http://chat.facebook.com/ [P]
ErrorDocument 404 /error.php
答案 0 :(得分:1)
RewriteEngine On
RewriteRule ^([^/]*)-([^/]*)$ /index.php?$1$2
RewriteCond %{HTTP_HOST} ^reflap\.com [NC]
RewriteRule (.*) http://www.reflap.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/?$ /index.php?$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/?$ /index.php?$1&$2 [QSA,L]
RewriteRule ^/facebook-chat/ http://chat.facebook.com/ [P]
ErrorDocument 404 /error.php
答案 1 :(得分:0)
您需要在重写规则中放置特定于您的泛型 - 您的排序意味着您被重定向到index.php?new-page,因为您首先匹配更一般的模式。
试试这个:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^reflap\.com [NC]
RewriteRule (.*) http://www.reflap.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)-([^/]*)$ /index.php?$1$2 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)$ /index.php?$1&$2 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?$1&$2 [QSA,L]
RewriteRule ^/facebook-chat/ http://chat.facebook.com/ [P]
RewriteRule ^([^/]*)$ /index.php?$1 [QSA,L]
RewriteRule ^([^/]*)/$ /index.php?$1 [QSA,L]
ErrorDocument 404 /error.php
这应该可以解决您的问题 - 但是这个.htaccess中有一个更普遍的问题 - RewriteCond
指令仅适用于紧随其后的RewriteRule
。他们不会继续执行任何其他规则。这意味着无论文件或目录是否确实存在,第一个规则之后的所有规则都将适用。
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond