【问题标题】:Using Mod-Rewrite to change Paths into files使用 Mod-Rewrite 将路径更改为文件
【发布时间】:2011-10-06 04:32:51
【问题描述】:

我在 Google 和 stackoverflow 上搜索了超过 48 小时,但没有找到类似的问题/解决方案;因此,我寻求帮助。

如果我想重写http://localhost/filename等URL来获取filename.php(这样localhost/aboutus获取aboutus.phplocalhost/contact获取contact.php等)。

我该怎么做?我不想为每一页写一条规则;我希望“文件名”是动态的,以便单个规则适用于特定文件夹中的所有页面。

我试过了:

RewriteRule ^(.*)/?$ $1.php

在 .htaccess 文件中,我不断收到 500 错误。 谢谢。

整个文件包含以下内容:
重写引擎开启
RewriteBase /
重写规则 ^(.*)/?$ $1.php

这就是文件包含的所有内容

【问题讨论】:

  • 请发布您的整个 .htaccess 文件。该规则应该有效。
  • 我已修改问题以包含文件的内容。谢谢

标签: .htaccess mod-rewrite


【解决方案1】:

500 错误可能有很多原因 - 有没有办法获得有关它的更多信息?

无论如何,您的问题可能是 (.*) 的贪婪方法以及您对可能存在或不存在的斜杠的处理。

试试

RewriteRule ^([_a-zA-Z0-9]*)/?$ $1.php 

而是只匹配 [] 内的字符,不包括 '/'。

您可以在此处查看您的 RewriteRules:http://martinmelin.se/rewrite-rule-tester/

【讨论】:

  • 非常感谢;那成功了。贪婪的 .* 对我来说是个麻烦事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 2013-05-25
相关资源
最近更新 更多