这个 htaccess 规则该如何写?

这个 htaccess 规则该如何写?

httaccess 语法是什么:

Redirect http://.../anything to http://.../blog/anything
except if anything exists (file or directory)

请解释一下,不要只给出规则。

答案1

您需要mod_rewrite在 Apache 中加载模块。然后您可以在文件中指定规则.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /blog/$1 [L,R=301]

这些RewriteCond语句检查请求的文件名是否不是现有文件或目录。RewriteRule使用正则表达式匹配整个字符串,该字符串存储在变量中$1。 然后实际的 HTTP 301 重定向到/blog/$1

答案2

你应该使用

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /blog/$1 [L,R=301]

相关内容