2012-04-11 67 views
0

上周末,我在Windows上使用xampp在家建立了一个新站点。一切正常,我得到干净的网址(如http://mysite.com/page/about)。今天,我不得不把文件带到我的办公室,在那里我用MAMP的Mac并没有任何工作。我在/Applications/MAMP/conf/apache/httpd.conf文件中将AllowOverride更改为All,并启用LoadModule rewrite_module modules/mod_rewrite.so,但没有运气。 (当然,我重新启动了MAMP) 但是没有发生。我的所有webrowsers都没有告诉我有关错误的信息。标题上刚刚获得了'localhost:8888 /'。在OS X上使用htaccess清理MAMP上的URL使用htaccess的MAMP清理网址

我使用.htaccess文件这些行:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^([A-Za-z0-9_-]+)(/)?$ index.php?page=$1 [QSA] 
    RewriteRule ^page/([A-Za-z0-9_-]+)(/)?$ index.php?page=page&uri=$1 
    RewriteRule ^work/([A-Za-z0-9_-]+)(/)?$ index.php?page=work&uri=$1 
</IfModule> 

我能做的还有什么,使这个工作? 非常感谢。

+1

好吧,我只是发现它的工作。问题在于包含的文件。我使用绝对路径(如include'/template/sidebar.php')到php包含无效的函数。我删除了第一个'/',现在很好。我很蹩脚.. – 2012-04-11 10:12:26

回答

0

这让我提供服务的文件about.php响应请求路径/约:

RewriteRule ^([A-Za-z0-9_-]+)(/)?$ /$1.php [L] 

注意,在MAMP你必须把这个在.htaccess:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^([A-Za-z0-9_-]+)(/)?$ /$1.php [L] 
</IfModule> 

在httpd.conf中放入同一个块在MAMP上不适用于我。