与htaccess seo友好的网址

时间:2014-02-03 11:35:18

标签: apache .htaccess mod-rewrite seo permalinks

我知道这个问题已经发布了很多时间,我已经搜索了但我找不到我需要的东西。

我正在为我的htaccess添加seo freindly链接,例如:

Options -MultiViews
RewriteBase /
RewriteRule ^list$ list.php [L]

完美无缺,当我尝试添加vars时,问题就出现了,对于exmpale,我需要网址: pages.php?id = terms 成为:页面/条款

所以我尝试了许多方式但不起作用,这就是我尝试的方法:

Options +FollowSymLinks
RewriteRule ^list$ list.php [L]
RewriteRule ^page/(.*)/ pages.php?x=$1 [L]

PS: + FollowSymLinks -MultiViews 有什么区别?

1 个答案:

答案 0 :(得分:2)

添加QSA标志:

Options +FollowSymLinks -MultiViews

RewriteRule ^list$ list.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^page/([^/]+)/?$ pages.php?x=$1 [L,QSA,NC]
  • QSA(查询字符串追加)标记在添加新查询参数时保留现有查询参数。
  • 有关Apache's content negotiation
  • 的信息
  • +FollowSymLinks使Apache遵循符号链接。
  • -MultiViews关闭内容协商

对于CSS / JS / image:

  1. 在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。
  2. 或者您可以尝试在页面的标题中添加:<base href="/" />