虽然我已经处理了具有相同主题的其他条目,但我无法找到针对我的特定问题的解决方案。
现在我的网址结构就像是
www.abc.com/in/something/bla
我更改了一些设置并删除了/ in /,现在URL结构是www.abc.com/something/bla
我想永久地重定向到新结构。
我发现@stackoverflow和网络中的解决方案都没有为我工作,因此我将htaccess代码粘贴(部分)下面。除了删除/ in /。之外,它完美地工作 在此先感谢帮助我!
<IfModule mod_rewrite.c>
# Enable Rewrite Engine
# ------------------------------
RewriteEngine On
RewriteBase /
# Redirect index.php Requests
# ------------------------------
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{THE_REQUEST} !/system/.*
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]
# Standard ExpressionEngine Rewrite
# ------------------------------
RewriteCond $1 !\.(css|js|gif|jpe?g|png) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
# remove trailing slash
# 05.10.2012
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
答案 0 :(得分:1)
使用mod_alias:
Redirect 301 /in/ /
使用mod_rewrite:
RewriteRule ^/?in/(.*)$ /$1 [L,R=301]
您需要将它们放在靠近RewriteBase
答案 1 :(得分:0)
试试这个:
RewriteCond %{REQUEST_URI} ^/in/.*
RewriteRule ^/in(/?.*)$ http://${HTTP_HOST}$1 [P,L]