Apache的URL重写 - 匹配目录
我有一个的.htaccess文件与以下规则:Apache的URL重写 - 匹配目录
RewriteRule ^api\/([A-Za-z0-9\-]+)\/?([0-9=a-zA-Z%]+)?\/?$ api.php?service=$1¶m=$2 [QSA,L]
出于某种原因,它的工作在我的主机,但不能在我的本地LAMP安装。有什么我做错了吗?
Apache的版本:的Apache/2.2.22(Ubuntu的)
错误消息: 404未找到( “所请求的URL/API /字/搜索/在此服务器上未找到”)
编辑:有另一部正在工作的重写规则,所以mod_rewrite的模块被激活:
RewriteRule ^([a-z]+)\.page$ index.php?template=$1 [QSA,L]
阿帕奇小号ITE配置是(当地):
DocumentRoot /var/www/Development-Env
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/Development-Env/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
编辑#2我想匹配http://localhost/api/service/method/
。
的API根据在这个Options Indexes FollowSymLinks MultiViews
在你的问题,我想问题是MultiViews启用。
您可以尝试添加该行重写规则集的顶部:
Options +FollowSymlinks -MultiViews
有可能apache国防部重写没有启用,或htaccess不允许。 并且不要这一切
RewriteEngine On
也*社
忘记以前 尝试RewriteRule ^api/(.*)/(.*)$ api.php?a=$1&d=$2 [NC]
人使用笨,如果你需要你有一个API我用这个
http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/
谢谢你的回应。 'mod_rewrite'已启用。 – Leonard 2013-02-28 14:54:20
可以请你告诉我,你是tryiing API/DIR1/DIR2/someging的网址是什么? – ddjikic 2013-02-28 15:14:01
@ddjikic我已更新我的原始帖子。 – Leonard 2013-02-28 15:19:02
尝试在重写规则集“Options + FollowSymlinks -MultiViews'上添加此项# – 2013-02-28 15:29:52