不带.html文件扩展名的URL +相应的重定向+不带斜杠

三岁

三种独立的方案:

  1. www根目录中,有一个文件foo.html,没有文件夹foo/foo.hmtl
  2. www根目录中,有一个文件foo所在的文件index.html/foo/index.html
  3. www根目录中,有一个文件foo所在的文件bar.html/foo/bar.html

在所有三种情况下的目标是:

规范的网址应为example.org/foo

  • example.org/foo.html 应该重定向到 example.org/foo
  • example.org/foo/ 应该重定向到 example.org/foo
  • example.org/foo// 应该重定向到 example.org/foo
  • example.org/foo/index.html 应该重定向到 example.org/foo
  • example.org/foo/bar.html 应该重定向到 example.org/foo

方案#1的第一种方法:

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule foo foo.html [NC,L]

请求example.org/foo返回的内容,/foo.html但当然没有从example.org/foo.html到的重定向example.org/foo

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule foo foo.html [NC,L]

Redirect 301 foo.html foo

请求example.org/fooexample.org/foo.html返回HTTP状态代码500 Internal Server Error

方案#1的第二种方法:

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule foo foo.html [R=301,NC,L]

请求example.org/foo重定向到example.org/foo.html,然后返回的内容/foo.html

...

我尝试了更多,但没有得到想要的结果。那么有人可以帮我,像我三岁时向我解释吗?;-)

RavinderSingh13

您可以尝试以下吗?

RewriteEngine On
### from example.org/foo/ OR example.org/foo// ----> example.org/foo ####
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/(foo)/+?$
RewriteRule ^.*$ /%1 [NC,R=302,L]

### redirect foo.html to foo with showing foo.html content ####
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^/(foo)\.html$ [NC]
RewriteRule ^.*$ /%1 [NC,R=302,L]


###redirect from foo/index.html to foo AND foo/bar.html to foo ####
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^/(foo)/(index|bar)\.html [NC]
RewriteRule ^.*$ /%1 [NC,R=302,L]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

htaccess重定向URL,带或不带斜杠到新URL

来自分类Dev

将不带扩展名的文件重定向到特定的URL,并忽略带扩展名的文件

来自分类Dev

不带斜杠的.htacces重定向到带斜杠的.htacces

来自分类Dev

将.htaccess中的末尾带有斜杠的URL重定向而不带斜杠到另一个域

来自分类Dev

当url指向现有文件夹时(不带斜杠),如何重定向到404。与HAproxy或mod-rewrite相关

来自分类Dev

不带扩展名的文件名

来自分类Dev

Apache2 Linux Mint URL(不带斜杠)不适用于HTTP到HTTPS重定向/重写

来自分类Dev

htaccess重写不带.php扩展名的URL到文件

来自分类Dev

是否可以提供不带文件扩展名的静态HTML?

来自分类Dev

Excel:创建不带扩展名的文件

来自分类Dev

打开不带扩展名的文件

来自分类Dev

使用.htaccess将不带扩展名的Hotlinker重定向到父网站

来自分类Dev

在不带.doc扩展名的Word中打开Word文档链接(重定向)

来自分类Dev

如何重定向不带参数的301严格URL?

来自分类Dev

链接不带斜杠

来自分类Dev

Ruby:获取不带扩展名的文件名

来自分类Dev

提取不带扩展名R的CSV文件名

来自分类Dev

如何批量输出不带扩展名的文件名?

来自分类Dev

提取不带扩展名的文件名-Ansible

来自分类Dev

提取不带扩展名R的csv文件名

来自分类Dev

获取不带扩展名的文件名

来自分类Dev

如何批量输出不带扩展名的文件名?

来自分类Dev

Node.js带有/不带有尾部斜杠的重定向

来自分类Dev

重命名不带文件扩展名的文件

来自分类Dev

识别不带扩展名的文件的文件类型

来自分类Dev

如何从所有URL中删除.php,且不带斜杠?

来自分类Dev

获取带有或不带有 URL 斜杠的目录?

来自分类Dev

将不带.xml扩展名的xml文件读入R

来自分类Dev

C ++:如何检查不带扩展名的文件类型

Related 相关文章

  1. 1

    htaccess重定向URL,带或不带斜杠到新URL

  2. 2

    将不带扩展名的文件重定向到特定的URL,并忽略带扩展名的文件

  3. 3

    不带斜杠的.htacces重定向到带斜杠的.htacces

  4. 4

    将.htaccess中的末尾带有斜杠的URL重定向而不带斜杠到另一个域

  5. 5

    当url指向现有文件夹时(不带斜杠),如何重定向到404。与HAproxy或mod-rewrite相关

  6. 6

    不带扩展名的文件名

  7. 7

    Apache2 Linux Mint URL(不带斜杠)不适用于HTTP到HTTPS重定向/重写

  8. 8

    htaccess重写不带.php扩展名的URL到文件

  9. 9

    是否可以提供不带文件扩展名的静态HTML?

  10. 10

    Excel:创建不带扩展名的文件

  11. 11

    打开不带扩展名的文件

  12. 12

    使用.htaccess将不带扩展名的Hotlinker重定向到父网站

  13. 13

    在不带.doc扩展名的Word中打开Word文档链接(重定向)

  14. 14

    如何重定向不带参数的301严格URL?

  15. 15

    链接不带斜杠

  16. 16

    Ruby:获取不带扩展名的文件名

  17. 17

    提取不带扩展名R的CSV文件名

  18. 18

    如何批量输出不带扩展名的文件名?

  19. 19

    提取不带扩展名的文件名-Ansible

  20. 20

    提取不带扩展名R的csv文件名

  21. 21

    获取不带扩展名的文件名

  22. 22

    如何批量输出不带扩展名的文件名?

  23. 23

    Node.js带有/不带有尾部斜杠的重定向

  24. 24

    重命名不带文件扩展名的文件

  25. 25

    识别不带扩展名的文件的文件类型

  26. 26

    如何从所有URL中删除.php,且不带斜杠?

  27. 27

    获取带有或不带有 URL 斜杠的目录?

  28. 28

    将不带.xml扩展名的xml文件读入R

  29. 29

    C ++:如何检查不带扩展名的文件类型

热门标签

归档