<h1><a href="profile.php?id=' . $id . '" target="_self">' . $name. '</a></h1>
以上是指向我的profile1.php文件的参考。该文件名为index.php。它目前显示网址:
http://www.domain.com/interact/profile1.php?id=36
我尝试过实现.htaccess文件来重写网址。我尝试了很多组合,其中大多数都给出了500错误,有些没有重写网址。 这是我使用的.htaccess文件,它不会使URL更改。
我希望网址看起来像http://www.domain.com/interact/profile/36
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ profile1.php/$1 [QSA,L]
</IfModule>
我知道这是一个非常基本的问题,但我似乎陷入其中并阅读了基本教程,但我无法正确实施。
文件index.php,profile1.php和.htaccess位于名为interact的文件夹中。
告诉我php或.htaccess文件中所需的任何更改。
答案 0 :(得分:1)
目前显示的网址为:
http://www.domain.com/interact/profile1.php?id=36
...
我希望网址看起来像
http://www.domain.com/interact/profile/36
更改您的内容,使其具有以下链接:
<h1><a href="profile/' . $id . '" target="_self">' . $name. '</a></h1>
这样,当您点击链接时,网址地址栏中显示的网址将如下所示: http://www.domain.com/interact/profile/36
然后你需要使用这些规则进行内部更改:
RewriteEngine On
RewriteBase /interact/
RewriteRule ^profile/([0-9]*) profile1.php?id=$1 [L,QSA]
为了将任何外部链接(例如谷歌索引机器人)指向新网址,您还需要添加这些链接:
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /interact/profile1\.php\?id=([0-9]*)
RewriteRule ^ http://www.domain.com/interact/profile/%2 [L,R=301]
答案 1 :(得分:0)
试试这个
RewriteRule ^interact/profile1.php/(.*)$ interact/profile1.php?id=$1 [L]
我不知道QSA修饰符是做什么的,所以我将其删除。如果你知道什么,请使用它)