好的,我对 mod_rewrite 并不感到惊讶。我正在努力变得更好-但有时阅读起来有点困难。
无论如何,我正在尝试为客户设置一个测试站点,并移动他们当前的实时站点。我一直在阅读 mod_rewrite,但很难为我找到一个易于理解的来源。
他们有一个相当广泛的 .htaccess 文件。
例如:
RewriteCond %{HTTP_HOST} ^clientdomain\.com
RewriteCond %{HTTPS} =on
RewriteRule .* https://www.%{SERVER_NAME}%{REQUEST_URI} [R,L]
我读这个的方式是——
如果域以 clientdomain.com 开头,则重定向到启用了 HTTPS 的服务器 - 我读对了吗?
接下来是这样的:
RewriteCond %{HTTP_HOST} ^(.*)clientdomain2.COM [NC]
RewriteRule ^(.*)$ clientdomain/template.php?pid=49 [R,L]
据我所知,这表示如果域是 clientdomain2.com,则指向 clientdomain 并使用 pid=49 的 GET 参数转到 template.php 页面 - 对吗?
最后,我完全不知道这意味着什么:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|/[^.]*)$ [NC]
RewriteRule ^(.*)(/|\.php|\.html|\.htm)*$ index.php?phpinc=$1 [QSA]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
看起来第一部分正在剥离所有 .php、.htm 和 .html - 对吗?
对此的任何建议,或易于理解的 mod_rewrite 处理的来源将非常受欢迎