.htaccess Apache mod_重写不起作用

.htaccess Apache mod_重写不起作用,.htaccess,mod-rewrite,seo,apache2,url-encoding,.htaccess,Mod Rewrite,Seo,Apache2,Url Encoding,我对Apache2.2的mod_重写模块有问题 我的代码既不能在本地主机(Win8 Pro上的Wamp,IPv6)上运行,也不能在webhotel(site5.com)上运行。 我的目标是生成SEO友好的URL,如下所示: www.xy.com/featured-artists.html 而不是: www.xy.com/index.php?pageID=Artists PHP变量$pageID在my index.PHP的第1行定义: <?php isset($_GET['pageID'])

我对Apache2.2的mod_重写模块有问题 我的代码既不能在本地主机(Win8 Pro上的Wamp,IPv6)上运行,也不能在webhotel(site5.com)上运行。 我的目标是生成SEO友好的URL,如下所示:

www.xy.com/featured-artists.html

而不是:

www.xy.com/index.php?pageID=Artists

PHP变量$pageID在my index.PHP的第1行定义:

<?php isset($_GET['pageID']) ? $pageID = $_GET['pageID'] : $pageID = 'Forside';?>
按预期工作。 不管我做什么,都不行。所以我真的希望你们中的一些人能在这方面帮助我


谢谢

Mod_rewrite似乎没有打开。您的规则包含在
IfModule
容器中:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteRule ^([^/.]+)/?$ /index.php?page=$1
</IfModule>

选项+FollowSymlinks
重新启动发动机
重写规则^([^/]+)/?$/index.php?页面=$1
所以这些规则不会被执行。如果您想让任何规则正常工作,您需要在服务器配置(或您的Web主机)中启用mod rewrite。否则,你尝试什么并不重要


一旦加载了mod_rewrite,您的规则应该与您想要的接近。它需要
/something
并在内部将其重写为
/index.php?page=somethin

@downvoter:这是一个真正的问题,格式良好,包含所有细节。为什么要投否决票?
ErrorDocument 404 /index.php?pageID=404
<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteRule ^([^/.]+)/?$ /index.php?page=$1
</IfModule>