![](/img/trans.png)
[英]Simple RewriteRule do not work at php/apache in htaccess
[英]Simple Apache .htaccess RewriteRule
我基本上都想要每个请求
http://localhost/~lucamatteis/datadict/AccessionMainName
实际打电话
http://localhost/~lucamatteis/datadict/index.php/AccessionMainName
这是我当前的.htaccess
物理位于~lucamatteis/datadict/
RewriteEngine on
RewriteBase /~lucamatteis/datadict/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
但不幸的是,这不起作用。 我用尽了一切 。 在这一点上,我认为问题在于它正在使用波浪号,或者我不确定。
在加载模块部分下的phpinfo()
中加载mod_rewrite
。 我不确定在哪里可以查看,因为我可能需要为mod_rewrite加载额外的东西才能工作。
有任何想法吗?
首先确保您能够通过.htaccess文件( AllowOwerride
config指令)覆盖Apache配置。
然后尝试完全删除RewriteBase
指令。 在这种情况下,当前目录将用作基础。
将ReWriteBase更改为您的物理目录:
/home/lucamatteis/public_html/datadict (or something similar)
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteBase
我认为问题是您想对不存在的文件进行内部重定向:
/home/lucamatteis/public_html/datadict/index.php/AccessionMainName
仅当index.php是目录并且AccessionMainName是文件时,这才起作用。
我不认为这样的事情可以做到。 大多数情况下,使用查询字符串参数就是您所需要的:
index.php?AccessionMainName
...,然后从$_GET['AccessionMainName']
读取该内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.