使用 .htaccess 文件隐藏 .php 扩展名时出现问题
Issue when using .htaccess file to hide .php extension
我的网站上有以下用于删除扩展名的 .htaccess 文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ .php
这在本地主机上完美运行,但是,当我将文件上传到 GoDaddy 并尝试访问 URL 时,说 mysite.com/page
、Google Chrome 会自动添加URL 的尾部斜杠(仅在网站上,而不是在本地主机上)。我假设这会导致网站假设 page
是 folder/directory 而不是文件?这是怎么回事?如果是这样,解决该问题的最佳方法是什么?我应该添加到我的 .htaccess 以自动删除结尾的斜杠,还是应该将每个页面作为一个目录,每个目录都有一个 index.php
?什么是最有效的方法?
如果不是文件夹,可以强制不使用尾部斜线。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ / [L,R]
我的网站上有以下用于删除扩展名的 .htaccess 文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ .php
这在本地主机上完美运行,但是,当我将文件上传到 GoDaddy 并尝试访问 URL 时,说 mysite.com/page
、Google Chrome 会自动添加URL 的尾部斜杠(仅在网站上,而不是在本地主机上)。我假设这会导致网站假设 page
是 folder/directory 而不是文件?这是怎么回事?如果是这样,解决该问题的最佳方法是什么?我应该添加到我的 .htaccess 以自动删除结尾的斜杠,还是应该将每个页面作为一个目录,每个目录都有一个 index.php
?什么是最有效的方法?
如果不是文件夹,可以强制不使用尾部斜线。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ / [L,R]