1

我已经开始在 Laravel 4 中重建站点。

该站点的 URL 当前使用 .php 扩展名。客户已将这些页面添加为书签,因此重要的是我将它们重定向到同一页面减去 .php 扩展名。

示例:我想/contact.php重定向到/contact.

Laravel 在它的 htaccess 文件中附带了这个:

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

我不精通正则表达式或 Apache 自己的语法。我找到了提供不带 .php 扩展名的 php 文件的综合答案,但是 Laravel 通过 index.php 路由所有内容,因此该解决方案似乎不起作用。

如何将带有 .php 的 URL 普遍重定向到没有扩展名的同一页面?

4

1 回答 1

2

在您已有的规则之上,添加以下内容:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.php$ /$1 [L,R=301]

重定向不存在的 php 页面。

于 2013-10-04T16:38:27.260 回答