gpt4 book ai didi

php - 如何使用 php 控制 .htaccess 或如何在 .htaccess 文件中输入 php 代码

转载 作者:可可西里 更新时间:2023-11-01 08:29:38 24 4
gpt4 key购买 nike

我不太擅长 .htaccess,所以我不知道它是如何工作的,我有一个网站,我的网站链接是这样的:mysite.com/pagee.php?menu_id=1我使用这个 .htaccess 代码:

<IfModule mod_rewrite.c>
RewriteEngine on

# 1-level
RewriteRule ^home/{0,1}$ pagee.php?menu_id=1 [QSA,L]


</IfModule>

它是这样工作的:mysite.com/home/

但我的问题是我有很多这样的页面:

mysite.com/pagee.php?menu_id=2, mysite.com/pagee.php?menu_id=3, mysite.com/pagee.php?menu_id=4, mysite.com/pagee.php?menu_id=5, mysite.com/pagee.php?menu_id=6,

我的 pagee.php 代码是:

    <?php
require_once('config2.php');

$menu_id = intval($_GET['menu_id']);

$query = "SELECT * FROM menu WHERE `menu_id`=$menu_id";
$result = mysql_query($query);


while($row = mysql_fetch_assoc($result))
{

echo '<h1>'.$row['mname'].'</h1>';

}

?>

pagee.php 与 mysql 一起工作

那么如何让代码在 .htaccess 中像这样工作:

    <IfModule mod_rewrite.c>
RewriteEngine on

# 1-level
<?php

$query = "SELECT * FROM menu WHERE `menu_id`=$menu_id";
$result = mysql_query($query);


while($row = mysql_fetch_assoc($result))
{
$menu_id=$row['menu_id'];
$linkname=$row['linkname'];


echo 'RewriteRule ^'.$linkname.'/{0,1}$ pagee.php?menu_id='$menu_id' [QSA,L]';

} ?>


</IfModule>

最佳答案

PHP 无法控制 .htaccess ok,但您也可以通过写入和重写 .htaccess 文件来控制它,我可以理解,但我认为这不能正常工作。但你也可以试试,

Made a function and inside that do this:

function edit_hta() {

echo "<IfModule mod_rewrite.c> \r\n
\r\n RewriteEngine on \r\n";

require('config2.php'); $getquery=mysql_query("SELECT * FROM menu ORDER BY menu_id DESC"); while($rows=mysql_fetch_assoc($getquery)){$menu_id=$rows['menu_id']; $linkname=$rows['linkname'];

echo "\r\n RewriteRule ^".$linkname."/{0,1}$ pagee.php?menu_id=".$menu_id. "[QSA,L] \r\n"; }

echo "\r\n </IfModule>";

}

OK, then make form, textarea and submit button

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label>
<textarea name="edit_ht" cols="45" rows="5"><?php echo edit_hta(); ?></textarea>
</label>
<input name="submit" type="submit" value="Edit" />
</form>

Than make php coding inside that page:

$submit = $_POST['submit'];

if ($submit) {

$edit_ht = file_put_contents('.htaccess', $_POST['edit_ht']);

}

我希望它能做得很好,所以最重要的是,如果你的 sql 数据库中有很多页面,首先你必须创建所有页面,而不是你在 from sheet 中看到的所有页面,所有链接都显示在 textarea 中像这样:

<IfModule mod_rewrite.c> 


RewriteEngine on

RewriteRule ^asasasa/{0,1}$ pagee.php?menu_id=10[QSA,L]

RewriteRule ^zxzxzx/{0,1}$ pagee.php?menu_id=9[QSA,L]

RewriteRule ^movie/{0,1}$ pagee.php?menu_id=8[QSA,L]

RewriteRule ^song/{0,1}$ pagee.php?menu_id=7[QSA,L]

RewriteRule ^software/{0,1}$ pagee.php?menu_id=6[QSA,L]

RewriteRule ^home/{0,1}$ pagee.php?menu_id=5[QSA,L]

</IfModule>

然后您点击“编辑”按钮,您的 .htaccess 文件将被编辑,使用此方法您可以控制您的 .htaccess 文件。我希望你能理解,如果你不理解,请给我评论。谢谢。

关于php - 如何使用 php 控制 .htaccess 或如何在 .htaccess 文件中输入 php 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30532726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com