【问题标题】:Problem creating friendly SEO URLs on local server在本地服务器上创建友好的 SEO URL 时出现问题
【发布时间】:2010-08-21 01:53:55
【问题描述】:

我在本地(Mac OS X Snow Leopard)开发服务器上实现友好的 SEO 网址时遇到问题。

*注意:site.com 只是一个例子

(1) 目前我的站点根目录设置了一个虚拟主机,指向我的站点文件夹的子目录。

(2) 当前访问的页面格式如下:http://site.com/index.php?page=login

(3) 我想将 SEO 实现为:http://site.com/login

(4) 我已经编辑了我的个人 apache 配置以包含 AllowOverride All

(5) 我创建了一个名为site_com.htaccess 的.htaccess 文件并将其放入site.com 的文档根目录中。这个文件的内容是:

RewriteEngine On
RewriteRule ^(.*).html /index.php?page=$1

(6) 然后我用 sudo apachectl restart 重新启动了 apache

我做错了什么?

【问题讨论】:

    标签: apache macos .htaccess mod-rewrite


    【解决方案1】:

    将文件从 site_com.htaccess 重命名为 .htaccess

    【讨论】:

    • 那没有任何作用。浏览器提示找不到 url。
    • @Tunji 好吧,一方面,你的模式期望在结尾处 .html... 你是导航到 /login 还是 /login.html
    • 大声笑,我的错误,愚蠢的我。 login.html 有效。我将如何实现 /login?谢谢。
    • @Tunji RewriteRule ^(*)$ /index.php?page=$1
    【解决方案2】:

    您在应用重写规则时遇到问题。

    使用这样的东西:

    // if not a file
    RewriteCond %{SCRIPT_FILENAME} !-f
    // if not a directory
    RewriteCond %{SCRIPT_FILENAME} !-d
    // pass all params back to index.php
    // QSA stands for query string append
    // L stands for last rule
    RewriteRule (.*) index.php?$1 [QSA,L]
    

    And here is the manual for future reference! ;)

    【讨论】:

      猜你喜欢
      • 2014-09-19
      • 2011-11-02
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 2011-06-27
      • 2014-12-04
      相关资源
      最近更新 更多