Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .htaccess隐藏.php文件扩展名,改为显示/(斜杠)_Javascript_Php_.htaccess - Fatal编程技术网

Javascript .htaccess隐藏.php文件扩展名,改为显示/(斜杠)

Javascript .htaccess隐藏.php文件扩展名,改为显示/(斜杠),javascript,php,.htaccess,Javascript,Php,.htaccess,我想将filename.php更改为filename/through.htaccess 所以, 应该成为 我得到的是: Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / # To externally redirect /dir/foo.php to /dir/foo RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.ph

我想将filename.php更改为filename/through.htaccess

所以, 应该成为

我得到的是:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# 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 [NC]
RewriteRule ^ %{REQUEST_URI}.php [L]

### 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} !-f
RewriteRule ^([-a-zA-Z0-9]+)\/$ $1.php [L]
此代码将把filename.php更改为filename而不是filename/

在my.htaccess中使用此代码,我的站点将无法正常工作。 当我在javascript中使用ajax调用php文件时。。我得到一个“意外的EOF”

有什么建议吗

副本:

答案是: 重新启动发动机

# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/$1 [R=301,L]

# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L]

# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]
这是一个副本:

答案是: 重写规则^(.*)$/$1.php[L]

当隐藏PHP时,我倾向于隐藏后者,添加了使.asp、.html、.cfm和.jsp也重写为.PHP的规则,因此戳服务器不应该暴露技术。也就是说,除非客户要求我隐藏它,或者我想创建更短/更漂亮的URL,否则我不会隐藏它