我需要将/ acatalog / vvv-123重定向到/ vvv-123
这是我目前在.htaccess文件中拥有的内容:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
任何帮助都会很棒。
答案 0 :(得分:0)
您需要了解,动态配置文件中的RewriteRules在 relative 路径中运行,这与在实际的http服务器中定义此类规则时使用的 absolute 路径相反主机配置。这就是为什么您的规则不适用的原因。顺便说一下,这是有据可查的...
所以您需要更改
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
使用相对路径方法,例如
RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]
请注意模式更改的开始和结束:开始处的问号要注意将规则应用于相对的或绝对路径,最后要注意如果请求 not 以斜杠结尾,则规则也会应用。
通常,您应该更喜欢将此类规则放置在实际的http服务器主机配置中,而不是依赖于动态配置文件。