【发布时间】:2017-11-13 04:26:55
【问题描述】:
我在根目录下的.htaccess 文件如下所示:
RewriteEngine on
RewriteBase /
options +FollowSymLinks
RewriteRule ^en/users/profile/?$ [F,NC]
RewriteRule ^en/users/profile/?([0-9]+)?/?$ en/user/index.php?id=$1
RewriteRule ^en/users/profile/([0-9]+)/photo/? en/user/index.php?pageID=photoEdit&id=$1
RewriteCond %{HTTP_REFERER} !^http://example\.ge/?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example\.dev/?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://localhost/?.*$ [NC]
RewriteRule \.(gif|jpe?g|png|bmp)$ - [F,NC]
它可以在本地主机上完美地重新路由,但在部署服务器上被忽略!这是 服务器的phpinfo();!
【问题讨论】:
-
从您的
phpinfo()输出看来,部署环境正在运行LiteSpeedWeb 服务器而不是Apache。你可能想看看这个链接:internetearnings.com/… -
您的第一个
RewriteRule指令缺少 替换 并且无法按预期工作 - 如果请求/en/users/profile/,您将收到错误消息。但是您实际上并没有说明您要路由的 URL。 -
没错。请提供答案,以便我接受。亲爱的怀特先生
标签: php .htaccess mod-rewrite web-deployment