删除URL文件结尾(.php,.js,.asp等)

时间:2012-12-25 01:24:02

标签: php html

我有一个关于删除网址栏中文件结尾的问题(类似.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文件。

4 个答案:

答案 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

然后,Apache(或您正在使用的任何Web服务器)将重写为:

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]