我的机器上有一个开发站点
localhost/~Jason/hfh/admin/?admin=collections
我的.htaccess文件位于/ hfh / admin /目录中。它说:
RewriteEngine On
RewriteBase /~Jason/hfh/
RewriteRule ^([A-Za-z0-9\-\_]*)$ index.php?admin=$1
但是当我去
localhost/~Jason/hfh/admin/collections
我收到“找不到页面”错误。谁能告诉我为什么?
(这与this link的另一个问题有关。)
答案 0 :(得分:1)
如果/ hfh / admin /中有.htaccess文件,那就是开头的基础。
RewriteBase /~Jason/hfh/admin/
那么你可能会看到你的期望。此外,当文件/目录存在时,您可能希望子句不重定向。
键入预期的结果URL是否有效?
/~Jason/hfh/admin/index.php?admin=Collections
编辑:
如果你将整个地段改为:
,会发生什么RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /~Jason/hfh/admin/index.php?admin=$1 [L]
答案 1 :(得分:0)
当你想要/〜Jason/hfh/admin/index.php?admin=collections.
尝试将规则更改为:
RewriteRule ^([A-Za-z0-9\-\_]*)$ admin/index.php?admin=$1
答案 2 :(得分:0)
现在简短的直接答案似乎是:你不能在你的localhost上使用mod_rewrite。