.htaccess使用用户代理进行URL重定向
我一直在试图找到解决我处境的办法,但没有一个奏效。我有以下htaccess文件,该文件执行以下操作:.htaccess使用用户代理进行URL重定向,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我一直在试图找到解决我处境的办法,但没有一个奏效。我有以下htaccess文件,该文件执行以下操作: 它将site.com/m/page重定向到site.com/m/#page 我将site.com/d/page重定向到site.com/m/#page 它删除了.php扩展名和页面前面的公共模式 迄今为止的守则: Options +FollowSymlinks -MultiViews RewriteEngine On RewriteBase / RewriteRule ^[dm]/(
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^[dm]/(.+)$ /m/#$1 [R=302,NE,L,NC]
## hide .php extension
RewriteCond %{THE_REQUEST} \s/+common_([^.]+)\.php[\s?] [NC]
RewriteRule ^ %1 [R=302,L,NE]
## To internally forward
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/common_$1.php -f
RewriteRule ^(.+?)/?$ common_$1.php [L]
我想提出以下建议:
a) 如果某些用户从iPhone“site.com/m/…”输入,请继续(不执行任何操作)
b) 如果某些用户从桌面输入“site.com/m/page”将其重定向到“site.com/d/#page”
我非常感谢您的帮助。您可以为此使用新规则:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !iphone [NC]
RewriteRule ^m/(.+)$ /d/#$1 [R=302,NE,L,NC]
RewriteRule ^[dm]/(.+)$ /m/#$1 [R=302,NE,L,NC]
## hide .php extension
RewriteCond %{THE_REQUEST} \s/+common_([^.]+)\.php[\s?] [NC]
RewriteRule ^ %1 [R=302,L,NE]
## To internally forward
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/common_$1.php -f
RewriteRule ^(.+?)/?$ common_$1.php [L]
再次感谢你,阿努巴瓦。我已经测试过了,看起来很完美。如果有任何问题,我会在这里再次发表评论。你还会帮我解决这个问题吗?我快发疯了:当然我会检查你的新问题。