0

上周末,我在家里建立了一个新的 Windows 站点(使用 xampp)。一切正常,我得到了干净的 URL(如http://mysite.com/page/about)。今天我不得不把文件带到我的办公室,在那里我使用带有 MAMP 的 Mac,但没有任何效果。我更改AllowOverrideAll/Applications/MAMP/conf/apache/httpd.conf 文件,并启用LoadModule rewrite_module modules/mod_rewrite.so,但没有运气。(当然,我重新启动了 MAMP)但是什么也没发生。我所有的网络浏览器都没有告诉我这个错误。刚刚在标题中获得了“localhost:8888/”。

我在 .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>

我还能做些什么来使它正常工作?非常感谢。

4

1 回答 1

0

这使我能够响应请求路径 /about 来提供 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>

在 MAMP 上将相同的块放在 httpd.conf 中对我不起作用。

于 2012-10-16T19:09:00.553 回答