我想考出mod_rewrite的含义: 我有两个文件:level1.php和warpzone.php。Apache的PHP的mod_rewrite不工作
在我的.htaccess我有以下代码:
RewriteEngine On
RewriteRule ^warp-zone.php$ level-1.php
然而,当我去warpzone.php,什么都不会发生:/(网址不会改变)
任何建议?我真的不知道我做错了什么。
我想考出mod_rewrite的含义: 我有两个文件:level1.php和warpzone.php。Apache的PHP的mod_rewrite不工作
在我的.htaccess我有以下代码:
RewriteEngine On
RewriteRule ^warp-zone.php$ level-1.php
然而,当我去warpzone.php,什么都不会发生:/(网址不会改变)
任何建议?我真的不知道我做错了什么。
问候
首先,你在你的.htaccess文件在PHP文件名破折号,而你的文件没有他们。
重写条件 - 这改变了内容为新的,但是网址保持,因为它是:
RewriteEngine On
RewriteRule ^warpzone\.php$ level1.php [L]
重定向条件 - 这改变内容和URL为新的:
RewriteEngine On
RewriteRule ^warpzone\.php$ /level1.php [R]
而且您可以使用重定向条件而不是mod_rewrite:
Redirect 301 /warpzone.php /level1.php
如果它不工作K代表你,你可以在你warpzone.php
文件的顶部使用页眉()方法:
<?php
header("Location: " . $_SERVER['SERVER_NAME'] . "/level1.php");
?>
已在Apache启用改写模式,使用命令a2enmod重写和重新启动Apache的 –
我接着说:apache'to你的丝毫不差和标签,'mod_rewrite'是一个Apache模块,与PHP无关。 – ojovirtual
问题出在Apache服务器配置上。它是否启用了“mod_rewrite”?你使用'VirtualHost'吗?您的主机/文件夹是否允许您在'.htaccess'文件中使用'allow'指令?你可以管理服务器吗?很多问题。 – ojovirtual