.htaccess 使用htaccess隐藏扩展,但超链接重定向到文件夹索引,而不是php
在我的服务器上,我使用此.htaccess删除.PHP扩展名:.htaccess 使用htaccess隐藏扩展,但超链接重定向到文件夹索引,而不是php,.htaccess,hide,.htaccess,Hide,在我的服务器上,我使用此.htaccess删除.PHP扩展名: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php 它工作正常,/about转到about.php页面,/contact转到.contact.php文件。但是我有一个projects.php和一个projects文件夹,所以超链接重定向到文件夹索引
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
它工作正常,/about转到about.php页面,/contact转到.contact.php文件。但是我有一个projects.php和一个projects文件夹,所以超链接重定向到文件夹索引。我知道我可以简单地重命名php或文件夹并解决问题,但是如果我在项目文件夹中有子文件夹,我将无法将URL保持为/projects/photography
这里有一张图片可以帮助解释:试试看
DirectorySlash Off
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} ^/projects$ [NC]
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
它应该与DirectorySlash off一起工作,但请参见。如果您不喜欢它们,最好重命名projects.phpdomain.com/projects自动链接到domain.com/projects/(带有额外的斜杠)和指向索引的链接still@PrestonMcPeak请尝试允许可选尾随的编辑版本slash@PrestonMcPeak我已经在上面做了必要的编辑:-)。让我知道它是否工作否:/n它仍然选择文件夹而不是文件夹。PHP@PrestonMcPeak当DirectorySlash打开时,
/projects
被301重定向到/projects/
,并且您的浏览器正在缓存重定向。在私人浏览模式下尝试此解决方案,您将看到它起作用。我自己也测试过。