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 为什么这个重写规则只适用于301重定向,而不适用于其他情况?_.htaccess_Url Rewriting - Fatal编程技术网

.htaccess 为什么这个重写规则只适用于301重定向,而不适用于其他情况?

.htaccess 为什么这个重写规则只适用于301重定向,而不适用于其他情况?,.htaccess,url-rewriting,.htaccess,Url Rewriting,我有以下重写规则: RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [R=301,L] 它可以工作并更改以下内容: http://bag-saver.com/uk/shop/white/clutch-bags/ RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [QSA,L] 进入: 但是,我不想要301。我只想重写URL。我尝试了以下方法: http://bag-saver.com/uk

我有以下重写规则:

RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [R=301,L]
它可以工作并更改以下内容:

http://bag-saver.com/uk/shop/white/clutch-bags/
RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [QSA,L]
进入:

但是,我不想要301。我只想重写URL。我尝试了以下方法:

http://bag-saver.com/uk/shop/white/clutch-bags/
RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [QSA,L]
但是,一旦我删除R=301,我就会得到页面未找到错误

为什么会这样

编辑-以下是其余的规则:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^(.*)-[0-9]{9}[0-9]+/$ /$1/ [R=301,L]
RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写规则^(.*)-[0-9]{9}[0-9]+/$/$1/[R=301,L]
重写规则^(.*)/white/(.*)/$/$1/$2/?标记=white[R=301,L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress

要修复找不到页面的错误,您可以尝试将
index.php
设置为Apache中的默认页面,如果缺少,则打开Apache配置文件
httpd.conf

vi httpd.conf
找出一行内容如下:

DirectoryIndex
现在根据您的要求进行设置:

DirectoryIndex index.html index.htm index.php
保存并关闭文件。重新启动Apache web服务器:

/etc/init.d/httpd restart
请注意,如果您无权访问Apache配置文件。将
DirectoryIndex
添加到
.htaccess
文件中。

使用

更新
另一个选项是删除
R=301
,以避免强制重定向

RewriteRule ^(.*)/white/(.*)/$ /$1/$2/?tags=white [L]

/uk/shop/clutch bags/?tags=white
真的解决了什么问题吗?您是否有其他规则(订单非常重要)?是-/uk/shop/clutch bags/?tags=white shows white clutch bags-hanks-非常明显,它应该是P作为代理。我看到一些关于在你提供的链接上使用P的性能警告-有什么建议吗?这与问题无关。存在的页面出现“未找到页面”错误。