【问题标题】:Convert URL to SEO Friendly将 URL 转换为 SEO 友好
【发布时间】:2016-04-29 09:25:49
【问题描述】:

我有几个问题。 例如,在我的网站中,我有一个这样的链接:

localhost/ecom/index.php?pages=1&title=quem-somos

索引文件检查GET['pages'] 的id,并根据来自db 的信息分配两个变量:$static_id$static_title

如何配置 .htaccess 以将此链接“转换”为:

localhost/ecom/quem-somos

当.htaccess 写好后,我的href 应该是这样的:

localhost/ecom/quem-somos

或者,应该是这样的:

localhost/ecom/index.php?pages=1&title=quem-somos

并且网址被转换为对 SEO 友好的网址?

对不起,如果这里有一些愚蠢的问题,我已经阅读了一些博客文章但仍然无法弄清楚。

【问题讨论】:

    标签: php .htaccess seo


    【解决方案1】:

    把这个放在你的 /ecom/ 目录中

    <IfModule mod_rewrite.c>
      RewriteEngine on
      RewriteBase /ecom/
    
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_URI} !=/favicon.ico
      RewriteCond %{REQUEST_FILENAME} !\.(css|js|jpeg|jpg|gif|png|bmp)$
      RewriteRule ^([^\/]+)\/([^\/]+)\/?$ index.php?title=$1&pages=$2 [L,B,QSA]
    </IfModule>
    

    根据您的服务配置,也许不需要 RewriteBase,所以如果删除一些。

    或者把这个变量放到你的根目录

    <IfModule mod_rewrite.c>
      RewriteEngine on
    
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_URI} !=/favicon.ico
      RewriteCond %{REQUEST_FILENAME} !\.(css|js|jpeg|jpg|gif|png|bmp)$
      RewriteRule ^ecom\/([^\/]+)\/([^\/]+)\/?$ /ecom/index.php?title=$1&pages=$2 [L,B,QSA]
    </IfModule>
    

    我更喜欢第一个。 您的网址必须类似于 http://localhost/ecom/some-title/1/
    注意最后/1/,需要传递pages变量

    【讨论】:

    • 谢谢。至少,您发布的第一个代码现在正在运行。但是现在打开页面,链接localhost/ecom/quem-somos/1,页面没有任何样式,好像没有css文件一样。
    • 检查你的css文件路径,如果你使用像“../style.css”这样的相对路径使用像“/style.css”或像“/ecom/style.css”这样的绝对路径,通常会出错根据您存储样式的位置,因为浏览器路径是“/ecom/some-title/1/”,如果您的 css 是相对的,它会在错误的位置寻找
    猜你喜欢
    • 1970-01-01
    • 2012-08-16
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多