Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
.htaccess htaccess重定向到pdf的路径_.htaccess_Redirect - Fatal编程技术网

.htaccess htaccess重定向到pdf的路径

.htaccess htaccess重定向到pdf的路径,.htaccess,redirect,.htaccess,Redirect,我有一个名为/manuals的目录,其中包含多个PDF文件 我想实现的是重定向并向访问此目录的任何URL附加pdf扩展名,如下所示: https://website.com/manuals/FM0100 to https://website.com/manuals/FM0100.pdf 这在.htaccess文件中是否可行?经过实验,我找到了一个解决方案: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST

我有一个名为
/manuals
的目录,其中包含多个PDF文件

我想实现的是重定向并向访问此目录的任何URL附加pdf扩展名,如下所示:

https://website.com/manuals/FM0100 to https://website.com/manuals/FM0100.pdf

这在.htaccess文件中是否可行?

经过实验,我找到了一个解决方案:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} manuals
RewriteCond %{REQUEST_URI} !pdf
RewriteCond %{REQUEST_URI} !png
RewriteCond %{REQUEST_URI} !jpg
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}.pdf

</IfModule>

重新启动发动机
重写cond%{REQUEST_URI}手册
重写cond%{REQUEST_URI}!pdf
重写cond%{REQUEST_URI}!巴布亚新几内亚
重写cond%{REQUEST_URI}!jpg
重写规则(*)http://%{http_HOST}%{REQUEST_URI}.pdf

经过实验,我找到了一个解决方案:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} manuals
RewriteCond %{REQUEST_URI} !pdf
RewriteCond %{REQUEST_URI} !png
RewriteCond %{REQUEST_URI} !jpg
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}.pdf

</IfModule>

重新启动发动机
重写cond%{REQUEST_URI}手册
重写cond%{REQUEST_URI}!pdf
重写cond%{REQUEST_URI}!巴布亚新几内亚
重写cond%{REQUEST_URI}!jpg
重写规则(*)http://%{http_HOST}%{REQUEST_URI}.pdf

/manuals/.htaccess
文件中(即
/manuals
子目录中),您可以执行以下操作:

RewriteEngine On

# Append ".pdf" to any request that does not already have a file extension.
RewriteRule !\.\w{2,4}$ %{REQUEST_URI}.pdf [R=302,L]
请求通过302-临时-重定向进行外部重定向

或者,您可以通过删除
R=302
标志在内部重写请求(即
.pdf
扩展名对用户隐藏)


不需要
包装器。

/manuals/.htaccess
文件中(即
/manuals
子目录中),您可以执行以下操作:

RewriteEngine On

# Append ".pdf" to any request that does not already have a file extension.
RewriteRule !\.\w{2,4}$ %{REQUEST_URI}.pdf [R=302,L]
请求通过302-临时-重定向进行外部重定向

或者,您可以通过删除
R=302
标志在内部重写请求(即
.pdf
扩展名对用户隐藏)


包装器不是必需的。

是的,当然可以。(在您现在要求代码之前,请先阅读。URL重写是一个已经有大量文档记录和讨论的主题,因此您首先应该自己尝试一下。)是的,当然是可能的。(在您现在要求提供代码之前,请先阅读。URL重写已经是一个广泛的文档和讨论主题,因此您应该首先自己尝试一下。)这可以简化很多。您的条件过于笼统,因为它们匹配URL中的任何位置,而不是请求URL的开始或结束。我添加了一个答案。这可以简化很多。您的条件过于笼统,因为它们匹配URL中的任何位置,而不是请求URL的开始或结束。我补充了一个答案。