【发布时间】:2015-04-14 15:32:50
【问题描述】:
我的问题似乎与托管平台上 apache 设置的设置方式直接相关,它由 crazydomains.com 托管。问题是我在我的开发 LAMP 上工作的重写不适用于他们的 LAMP。我希望在重写方面比我有更多知识的人能指出我的错误。
我的开发服务器上的工作重写:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/manage/$ /manage/index.php [L,QSA]
RewriteRule ^/manage/(.+\..+)$ - [NC,L]
RewriteRule ^/manage/(.*)/$ /manage/index.php?page=$1 [L,QSA]
RewriteRule ^/(.+\..+)$ - [NC,L]
RewriteRule ^/(.+)$ /index.php?page=$1 [QSA]
crazydomains 上的问题重写
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^manage/$ /manage/index.php [L,QSA]
RewriteRule ^manage/(.+\..+)$ - [NC,L]
RewriteRule ^manage/(.*)/$ /manage/index.php?page=$1 [L,QSA]
RewriteRule ^(.+\..+)$ - [NC,L]
RewriteRule ^(.+)$ /index.php?page=$1 [QSA]
我希望以http://example.com/manage 或http://example.com/manage/ 开头的任何内容都被捕获并转到/manage/index.php,其他任何内容都将转到该站点的根index.php。
我发现在这个托管平台上唯一匹配的规则是规则 4 出于某种原因。当然,他们的支持甚至可以将我链接到网站以生成对我没有帮助的 .htaccess 文件,因为这些都是简单的事情,这是一个复杂的规则。
非常感谢任何帮助!
【问题讨论】:
标签: apache .htaccess mod-rewrite url-rewriting