.htaccess 文件访问特定文件的问题
.htaccess file accessing issue to a specific file
=> This is my folder structure
有一个文件当前名称deploy_email.php
这是我的 .htaccess 代码
<IfModule mod_rewrite.c>
RewriteEngine on
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
RewriteCond %{THE_REQUEST} ^[A-Z](3,)\s([^.]+)\.php [NC]
RewriteRule ^%1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ .php [NC,L]
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?/] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
</IfModule>
问题是我希望 deploy_email.php 文件可以通过扩展名访问,其余文件扩展名应该被隐藏。
如果我在检查时使用上面的 .htaccess 代码,我发现数据不是通过 deploy_mail.php 获取的,正如您在此处看到的那样 => This here
请提供一些解决方案。
POST 数据在使用 R
标志进行外部重定向时丢失。您应该跳过来自重定向规则的所有 POST
个请求,而不仅仅是一个文件。
将显示的所有代码替换:
RewriteEngine on
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
# redirect only all requests except POST
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.(?:php|html?)[\s?/] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ .php [L]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+?)/?$ .html [L]
RewriteCond %{REQUEST_FILENAME}.htm -f
RewriteRule ^(.+?)/?$ .htm [L]
清除浏览器缓存并重新测试。
=> This is my folder structure
有一个文件当前名称deploy_email.php
这是我的 .htaccess 代码
<IfModule mod_rewrite.c>
RewriteEngine on
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
RewriteCond %{THE_REQUEST} ^[A-Z](3,)\s([^.]+)\.php [NC]
RewriteRule ^%1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ .php [NC,L]
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?/] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
</IfModule>
问题是我希望 deploy_email.php 文件可以通过扩展名访问,其余文件扩展名应该被隐藏。
如果我在检查时使用上面的 .htaccess 代码,我发现数据不是通过 deploy_mail.php 获取的,正如您在此处看到的那样 => This here
请提供一些解决方案。
POST 数据在使用 R
标志进行外部重定向时丢失。您应该跳过来自重定向规则的所有 POST
个请求,而不仅仅是一个文件。
将显示的所有代码替换:
RewriteEngine on
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
# redirect only all requests except POST
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.(?:php|html?)[\s?/] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ .php [L]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+?)/?$ .html [L]
RewriteCond %{REQUEST_FILENAME}.htm -f
RewriteRule ^(.+?)/?$ .htm [L]
清除浏览器缓存并重新测试。