Apache 我的mod重写失败在哪里?
我有网址 ipaddr/opensys/base/ 还有一些类似的,比如 ipaddr/opensys/base/something.php?olol=yesp 我想从url“opensys”中删除并在那里显示“center”,我想看到这些链接起作用: ipaddr/中心/基础/ 及 ipaddr/center/base/something.php?olol=yesp 我是用symlinks做的,但不太好,因为系统非常困难,而且symlink的一些插件不起作用,我只想用.htaccess来做,毕竟一切都会好的 我的访问权限是: 但我希望看到的链接不起作用,为什么Apache 我的mod重写失败在哪里?,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有网址 ipaddr/opensys/base/ 还有一些类似的,比如 ipaddr/opensys/base/something.php?olol=yesp 我想从url“opensys”中删除并在那里显示“center”,我想看到这些链接起作用: ipaddr/中心/基础/ 及 ipaddr/center/base/something.php?olol=yesp 我是用symlinks做的,但不太好,因为系统非常困难,而且symlink的一些插件不起作用,我只想用.htaccess来做,毕
RewriteEngine on
RewriteRule ^/opensys/base/(.*)$ /center/base/$1 [L]
RedirectMatch 301 ^/opensys/base/(.*)$ /center/base/$1
重定向工作正常,但我看到404,重写规则不起作用。为什么?您还需要处理.htaccess文件中的/center/base/now,因为您之前必须处理opensys。类似这样的事情-
RewriteRule ^/opensys/base/(.*)$ /center/base/$1 [R=301]
RewriteRule ^/center/base/(.*)$ /index.php?args=$1 [QSA,L]
您可以在root.htaccess中使用此代码:
RewriteEngine on
RewriteCond %{THE_REQUEST} /opensys/(base/\S*)\s [NC]
RewriteRule ^ /center/%1 [R=301,L,NE]
RewriteRule ^center/(base/.*)$ opensys/$1 [L,NC]