【问题标题】:htaccess rewrite doesn't work properly on localhosthtaccess 重写在本地主机上无法正常工作
【发布时间】:2012-01-29 07:11:51
【问题描述】:

我现在正在重组一个网站,并且我正在 localhost (xampp) 上对其进行测试。

在根目录中有几个.htm 文件,它们被转换为.php。 但是,出于 SEO 的原因,我想保留 .htm 扩展名。 所以我创建了一个包含以下内容的 .htaccess 文件:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*)\.php$ $1.htm [L]

但是当我尝试访问这样的页面来测试重写时:
http://localhost/sitename/anything.php

我总是联系
http://localhost/C:/xampp/htdocs/sitename/anything.htm

这显然会产生 403 错误。

我已尝试更改 .htaccess 选项,但没有成功。
Apache中启用了重写模块,所以不是这样。

我错过了什么吗?

【问题讨论】:

  • 只是一个评论。该扩展不会对您网站的 SEO 产生任何影响。您为 SEO 重写的主要原因是,如果您有冗长的参数化 URL,或者您以前有 html 页面,并且您正在使内容动态化,但不想经历 301 重定向整个网站的整个过程。

标签: .htaccess url-rewriting xampp


【解决方案1】:

尝试添加一个 RewriteBase 指令,即

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteRule ^(.*)\.php$ $1.htm [L]

【讨论】:

    【解决方案2】:

    尝试使用请求的 URI 进行重定向:

    RewriteEngine On
    RewriteRule ^(.*)\.php$ %{REQUEST_URI}.htm [R=301,L]
    

    我对其进行了测试,并将“.htm”添加到我所有的 php URI test.php -> test.php.htm

    这里不需要反向引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-25
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 2019-05-07
      • 1970-01-01
      相关资源
      最近更新 更多