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


Remove URL file ending (.php , .js , .asp etc)

我有一个关于在url栏中删除文件结尾的问题(.类似.php, .html, .js, .asp部分)。我的目标是,每当有人输入url,比如www.123.com/a文件所在的地方,让我们说一个php文件(所以它是a.php),这样人们就可以输入www.123.com/a而不是www.123.com/a.php。我该如何解决这个问题?

是否有一些独特的方式来保存文件,以便它们被保存,并可以通过其名称通过url调用?在我的例子中,如果我调用www.123.com/a,它会说"object not found error",但它会为www.123.com/a.php工作。

如何在url栏中隐藏文件的.something部分?

附加说明,我使用notepad,所以每当我保存我在a.php保存为PHP或a.js为javascript文件。

通常使用.htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [QSA]

使用。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/

如何解决这个问题?有什么独特的方法来保存文件吗保存,可以通过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

我们可以从中处理它

创建。htaccess文件,如果它不存在于repo文件夹中,并将该代码添加到其中

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]