使用MAMP

时间:2017-02-01 01:33:35

标签: php apache .htaccess url mamp

我正在尝试从我重建网站时使用的URI删除文件扩展名和尾随斜杠。我意识到从实际依赖文件夹的URL中删除尾部斜杠是荒谬的,但我需要保留在几年前在自制CMS中构建网站时创建的现有URL结构。

我已经阅读了以下内容以及更多内容。

Remove file extension with .htaccess: Error with trailing slash

Remove .php extension with .htaccess

似乎人们喜欢一遍又一遍地回答问题的第一部分(重新删除PHP)并跳过第二部分(同时删除尾部斜杠)。

我可以删除PHP(或HTML)文件扩展名,但无法删除PHP文件扩展名和目录的尾部斜杠。

我正在使用MAMP并在OS X El Capitan v.10.11.6上使用Mac。

以下是我需要的三个URI,以确认这是有效的:

  • /本地主机/
  • /本地主机/约
  • /本地主机/约/保证

首先,我尝试使/ localhost /和/ localhost /关于工作。

在我的根目录中,我有以下文件:

  • 的index.php
  • about.php

我在.htaccess文件中有这个:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

当我浏览/ localhost /时,我会看到主页。

当我浏览到/ localhost / about时,我得到了所需的结果 - 没有文件扩展名或尾部斜杠的about页面。

即,它到目前为止有效。

为了使/ localhost / about / guarantee工作,我在根目录中创建了一个子文件夹:

  • 的index.php
  • about.php
  • /about/guarantee.php

不幸的是,当我现在尝试访问/ localhost /时,浏览器会重定向到/ about /并显示:

  

指数/约

     

父目录

     

guarantee.php

即,我无法再访问/ localhost / about。

我可以到/ localhost / about / guarantee。

所以,我尝试重新排列文件。我将index.php文件添加到/ localhost / about / folder:

  • 的index.php
  • about.php
  • /about/index.php
  • /about/guarantee.php

我现在可以访问/ localhost /和/ localhost / about /(WITH THE TRAILING SLASH)和/ localhost / about / guarantee。

我找不到一个解决方案,它会从/ localhost / about /.

中删除尾部斜杠

我希望得到一些.htaccess文件的帮助。

0 个答案:

没有答案