我有一个关于删除网址栏中文件结尾的问题(类似.php, .html, .js, .asp
部分的.something)。我的目标是每当有人输入文件所在的www.123.com/a
之类的文件时,让我们说一个php文件(所以它是a.php
),这样人们就可以输入 www.123 .com / a 而不是 www.123.com/a.php 。我该如何解决这个问题?
是否有一些独特的方法来保存文件以便保存文件,并且只能通过名称通过网址调用?在我的情况下,如果我致电www.123.com/a
,它会说"object not found error"
,但它适用于www.123.com/a.php
。
如何在网址栏中隐藏文件的.something部分?
附加说明,我使用notepad
因此,每当我保存时,我输入a.php
作为PHP保存或a.js
输入javascript文件。
答案 0 :(得分:6)
通常,这是通过.htaccess
完成的:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [QSA]
答案 1 :(得分:3)
使用.htaccess!
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
https://stackoverflow.com/a/10469791/1533203
http://eisabainyo.net/weblog/2007/08/19/removing-file-extension-via-htaccess/
答案 2 :(得分:2)
我该如何解决这个问题?是否有一些独特的方法来保存文件以便它们 是保存的,可以通过URL名称来调用吗?
没有
实际发生的是我们让Web服务器在进入PHP之前重新编写请求。
因此用户可以输入(或发送给):
http://stackoverflow.com/questions/14026969/remove-url-file-ending-php-js-asp-etc
http://stackoverflow.com/index.php?page=questions&id=14026969&title=remove-url-file-ending-php-js-asp-etc
我们可以从中处理它。
答案 3 :(得分:0)
如果 bot 存在于 repo 文件夹中,则创建 .htaccess 文件并将该代码添加到其中
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]