【问题标题】:Using .htaccess to URL rewrite on windows在 Windows 上使用 .htaccess 重写 URL
【发布时间】:2012-05-19 12:31:26
【问题描述】:

我已经在 Windows 机器上打开 mod_rewrite 并在我网站的根目录中创建了 .htaccess,现在我在其中写了 FAIL 后它给了我一个内部服务器错误然后我用这个替换了代码

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [L,QSA]

我正在尝试删除 .php 并创建友好的 URL,当我尝试在不使用 .php 的情况下加载索引时,它给了我一个 404 Not found 错误,我已经多次重新启动 wamp 服务器并出现同样的问题。有人可以在这里帮助我吗?

提前致谢

【问题讨论】:

  • 查看您的错误日志。它应该向您显示无法找到的实际文件名。我想您现在可能正在将文件 /test.php 重写为 /test.php.php。
  • 这就是我发现它直接在 www 内部查找的脚本 'C:/wamp/www/destinations.php' 未找到或无法统计
  • 要删除.php,使用Options +MultiViews就足够了。
  • 你能举个例子吗这是我第一次使用.htaccess文件

标签: php apache .htaccess mod-rewrite wampserver


【解决方案1】:

我已将 .htaccess 更改为此

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

如果有人遇到同样的问题,它会起作用

【讨论】:

    【解决方案2】:

    删除RewriteCond %{REQUEST_FILENAME}.php -f 行。没必要。

    【讨论】:

    • 我按照你说的做了,但问题是它在里面看 c:\wamp\www 不是 c:\wamp\www\my_site_folder
    • RewriteBase 告诉服务器在域的根目录上查找 /$1.php。
    猜你喜欢
    • 2011-11-26
    • 2013-06-22
    • 2012-10-31
    • 2011-04-03
    • 2014-12-23
    • 2015-01-25
    • 1970-01-01
    相关资源
    最近更新 更多