如何使用HTACCESS将杂乱的URL重写为干净的URL?

时间:2019-05-28 18:23:19

标签: apache .htaccess url mod-rewrite clean-urls

我正在尝试将所有页面转换为干净的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脚本一样。

任何帮助将不胜感激!

0 个答案:

没有答案