【发布时间】:2009-11-04 19:20:47
【问题描述】:
什么处理禁用扩展?是 APACHE 还是 PHP 安装?如何配置不需要 .php 扩展名的 Web 服务器?是否有一个选项可以使 www.example.com/page.php 和 www.example.com/page 都用作 URL?
【问题讨论】:
标签: php apache .htaccess mod-rewrite
什么处理禁用扩展?是 APACHE 还是 PHP 安装?如何配置不需要 .php 扩展名的 Web 服务器?是否有一个选项可以使 www.example.com/page.php 和 www.example.com/page 都用作 URL?
【问题讨论】:
标签: php apache .htaccess mod-rewrite
通过 Apache 重写 URL: http://www.addedbytes.com/apache/url-rewriting-for-beginners/
【讨论】:
Apache 还有一个名为MultiViews 的设置,它将domain.com/index.* 作为domain.com/index、domain.com/example.* 作为domain.com/example 等服务。
我偶尔会遇到 MultiViews 优于 mod_rewrite 规则的问题,所以我倾向于将其关闭。
【讨论】:
查看 A List Apart 关于此主题的一些文章:您使用 Apache(在您的情况下)设置 ReWriteRule,然后让 PHP 解析 url 以获取正确的信息。 (同样,在您的情况下。您可以使用多种语言和 http 服务器来执行此操作)
【讨论】:
brianreavis 是正确的。这是您的 .htaccess 文件的示例:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
【讨论】:
我只是把它全部扔到 PHP 上,然后按我想要的方式解析它:
.htaccess
RewriteEngine On
RewriteRule !\.(js|ico|gif|jpg|png|css)$ @frontend.php
【讨论】:
我在我的 .htaccess 中使用它
<Files ~ "^[^.]+$">
ForceType application/x-httpd-php5
</Files>
这样我可以从我的文件中删除所有扩展名 (.php),它仍然可以工作。
我使用 $_SERVER['PATH_INFO'] 来检索路径的其余部分作为参数。例如。 /page/param1/param2 其中 page 是一个实际的 php 文件。
【讨论】: