重写规则组合不起作用

nullException
RewriteEngine On
RewriteCond %{HTTP_HOST} !.com$  //redirect from .net and .org to .com
RewriteRule .* http://www.domain.com%{REQUEST_URI} [R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC] //Always use www.
RewriteRule ^/(.*)$ http://www.%1/$1 [R=301]
RewriteRule ^/?article-(.*)$ article.php?id=$1 [L,QSA,NC] // redirect article-x  to article.php?id=x
RewriteRule ^/?page-(.*)$ page?p=$1 [L,QSA,NC]// redirect page-x  to page.php?p=x
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L] // add the .php to every request if the file type is missing

除了添加www之外,所有规则都可以正常工作。网址。例如http://domain.com/page-1不会重定向到http://www.domain.com/page-1

迈克尔·伯科夫斯基

%1指的是()前面捕获的模式RewriteCond您尚未在中捕获任何模式RewriteCond相反,您可以只%{HTTP_HOST}在中使用RewriteRule

如果这些规则驻留在.htaccess中,RewriteRule将不包含前导/,因此如果您的模式匹配,则将永远不匹配。删除/并匹配^(.*)$

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301]

旁注:不要忘记逃脱.in .com它可以在不转义的情况下工作,但是该表达式并不表示您真正想要的含义。

RewriteCond %{HTTP_HOST} !\.com$

全部重写的整体外观应如下所示(我已经删除了所有的前导//?表达式)。我已经在自己的系统上进行了所有测试。

RewriteEngine On
RewriteCond %{HTTP_HOST} !\.com$ [NC]
#Use a capture group here, add [L]
RewriteRule (.*) http://www.example.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

RewriteRule ^article-(.*)$ article.php?id=$1 [L,QSA,NC]
RewriteRule ^page-(.*)$ page?p=$1 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L] 

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

htaccess重写规则不起作用

来自分类Dev

.htaccess重写规则不起作用

来自分类Dev

重写规则不起作用

来自分类Dev

.htaccess重写规则不起作用?

来自分类Dev

重写规则不起作用

来自分类Dev

Apache重写规则不起作用

来自分类Dev

.htaccess重写规则不起作用

来自分类Dev

重写规则不起作用

来自分类Dev

重写规则不起作用

来自分类Dev

重写规则不起作用

来自分类Dev

Nginx重写规则不起作用

来自分类Dev

htaccess重写规则不起作用

来自分类Dev

.htaccess 重写规则不起作用

来自分类Dev

重写规则捕获全部+ QSA不起作用

来自分类Dev

编写.htaccess重写规则不起作用

来自分类Dev

apache重写规则:http到www不起作用

来自分类Dev

重写joomla .htaccess中的规则不起作用

来自分类Dev

WordPress的简单重写规则不起作用

来自分类Dev

Nginx重写规则不起作用/被忽略

来自分类Dev

多个URL参数重写规则不起作用

来自分类Dev

URL重写规则在php中不起作用

来自分类Dev

.htaccess-重写规则被忽略或不起作用

来自分类Dev

WordPress的简单重写规则不起作用

来自分类Dev

HTTP到HTTPS重写规则不起作用

来自分类Dev

Nginx重写规则不起作用,引发404错误

来自分类Dev

使用重写规则时,PHP $ _GET值不起作用

来自分类Dev

重写规则不起作用-请帮忙

来自分类Dev

htaccess简单重写规则不起作用

来自分类Dev

为什么.htaccess重写规则不起作用?