我正在尝试将http://womenhealthanddiet.com/article_info.php?id=238
更改为women-health-article/
。我尝试了不同的教程并在Stack Overflow上寻找答案,但无论我对url做什么,它都不会改变。我使用Godaddy作为虚拟主机。我该怎么办?
Options +FollowSymlinks
RewriteEngine on
#Fix Rewrite (-|-) this works as a fix for crazy ass godaddy,
#thanks david walsh @ (davidwalsh.name)!
Options -Multiviews
RewriteRule ^women-health-article/([-_!~*'()$a-zA-Z0-9]+)/$ article_info.php?id=$1 [L]
答案 0 :(得分:0)
这将静态重定向到article_info.php?id = 238
RewriteEngine on
RewriteRule ^(.*)/women-health-article/$ article_info.php?id=238 [R,L]
这将根据网址后面的ID动态重定向。
RewriteEngine on
RewriteRule ^(.*)/women-health-article/(.*)$ article_info.php?id=$2 [R,L]
答案 1 :(得分:0)
对我来说,我总是使用这个代码,这对我来说真的很好
RewriteEngine On
RewriteRule ^women-health-article-([a-zA-Z_0-9-/]+).html$ article_info.php?id=$1
RewriteRule ^women-health-article-([a-zA-Z_0-9-/]+).html/$ article_info.php?id=$1
在.htaccess文件中使用此代码将在url中提供此结果
http://you-domain-name.com/women-health-article-238.html
如果你想更改你的网址更好,你可以改变你的方法,并在你的数据库中创建一个表,让我们说表名是article_slug
现在这篇文章slug将有文章slug就像id 。
现在,如果您发表文章,您应该输入本文的slug并使用它就像使用id一样
示例强>
你有文章标题(女性健身训练)和slug(健身女子火车) 所以php将是
我在
之前写的.htaccess的URLhttp://you-domain-name.com/article-fitness-women-train.html
<?php
$getslug = $_GET['slug'];
$query = mysql_query("SELECT * FROM table WHERE article_slug = '$getslug' ");
$result = mysql_fetch_assoc($query);
?>
此示例的.htaccess文件将为
RewriteEngine On
RewriteRule ^article-([a-zA-Z_0-9-/]+).html$ article_info.php?slug=$1
RewriteRule ^article-([a-zA-Z_0-9-/]+).html/$ article_info.php?slug=$1
所以就是这样