Apache Mod Rewrite Htaccess在某些WAMP上有效,而在其他WAMP上无效 我正从PHP 5.5、PHP 7.3 转移我的一个非常老的网站。

Apache Mod Rewrite Htaccess在某些WAMP上有效,而在其他WAMP上无效 我正从PHP 5.5、PHP 7.3 转移我的一个非常老的网站。,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,在旧版本的WAMP上,URL重写可以正常工作,但在最新版本上,它们没有按预期工作 我正在最新版本的WAMP上测试它,并且在Apache服务器上进行了mod_重写 所有这些都能在所有模式URL上正常工作,除了少数几个之外,以下是一些不起作用的URL: Options +FollowSymlinks RewriteEngine On RewriteRule ^Control-Panel/Pages/Add/?$ Control-Panel/pages.php?mode=add [L] Rewrit

在旧版本的WAMP上,URL重写可以正常工作,但在最新版本上,它们没有按预期工作

我正在最新版本的WAMP上测试它,并且在Apache服务器上进行了mod_重写

所有这些都能在所有模式URL上正常工作,除了少数几个之外,以下是一些不起作用的URL:

Options +FollowSymlinks
RewriteEngine On

RewriteRule ^Control-Panel/Pages/Add/?$ Control-Panel/pages.php?mode=add [L]
RewriteRule ^Control-Panel/Pages/Edit/([0-9]+)/?$ Control-Panel/pages.php?mode=edit&pid=$1 [L]
RewriteRule ^Control-Panel/Pages/Manage/?$ Control-Panel/manage-pages.php [L]
RewriteRule ^Control-Panel/Pages/Menu/?$ Control-Panel/menu.php [L]
现在,大致相同但没有错误的代码是:

RewriteRule ^page/([A-Za-z0-9-]+)/?$ pages.php?slug=$1 [L]
RewriteRule ^page/([A-Za-z0-9-]+)/page-([0-9]+)/?$ pages.php?slug=$1&pagenumber=$2 [L]

RewriteRule ^portfolio/([A-Za-z0-9-]+)/([0-9]+)/?$ portfolio-single.php?slug=$1&pid=$2 [L]
我能想到的唯一一件事是,由于Apache服务器运行的版本不同,它们的运行方式也不同

我在旧版本上的wamp运行的是Apache2.4.9 新版本上我的wamp运行的是Apache2.4.37


自较旧版本以来,mod重写是否已更改?

对于同样获得此功能的任何人来说,这是因为安装WAMP时会自动启用多视图

在.htaccess文件中打开并查找:

Options
它应该位于文件的顶部,只需简单地添加以下内容即可

-MultiViews
如果出于某种原因,您的选项具有+多视图,请将其删除

保存文件并重新启动apache服务器