我正在尝试将所有页面转换为干净的URL(以便site.com/new/index.php?page=hello可以访问site.com/new/hello)。经过研究,似乎使HTACCESS文件句柄路径重写是最好的方法。我已经对此进行了几个月的研究,但尚未找到可靠的解决方案。
我已经尝试了多种方法来执行此操作,但是都没有响应。我什至在不同的Apache服务器上尝试过它,看看是否有问题。我已经联系了主机,看来所有设置都很好。
我尝试了一些方法及其变体。我还尝试过更改权限,更改cPanel和WHM中的设置,以及将HTACCESS文件放置在其他目录中。尽管我的HTACCESS文件中的其他命令正在运行,但无法更改URL,所以我知道文件正在读取。
这是我到目前为止尝试过的代码:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^page/(\d+)*$ ./index.php?page=$1
这:
RewriteEngine On
RewriteRule ^([a-z]+)\/([0-9]+)\/?$ index.php?page=$1 [NC]
它似乎不起作用,因为无论我是否添加此脚本,URL都保持不变。
该网站似乎完全不受添加此代码的影响。 HTACCESS文件是完全干净的,并且“分区”上没有其他会影响它的HTACCESS文件。要进行复制,请尝试在任何目录的HTACCESS文件中使用以上代码。
我希望代码将URL重写为纯格式,因为似乎大多数网站都建议像这样的代码以所需的方式更改URL。但是,我的网站保留了带有page = hello变量的URL,就像没有HTACCESS脚本一样。
任何帮助将不胜感激!