我正在将我的一个非常旧的网站从PHP5.5>PHP7.3转移到中间
在旧版本的WAMP上,URL重写工作正常,但在最新版本上,它们不能像预期的那样工作。
我正在最新版本的WAMP上测试它,并且在Apache服务器中安装了mod_rewrite。
除了少数几个之外,所有模式的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在旧版本上运行的是Apache 2.4.9,在新版本上运行的是Apache 2.4.37
与旧版本相比,mod重写有变化吗?
发布于 2019-04-22 23:39:01
好的,任何人谁也得到了这一点,这是因为MultiViews是自动启用时安装的WAMP。
在.htaccess文件中打开并找到:
Options它应该在文件的顶部,只需添加以下内容即可。
-MultiViews如果出于某种原因,您的选项具有+MultiViews,则将其删除。
保存文件并重新启动apache服务器。
https://stackoverflow.com/questions/55795459
复制相似问题