Php 正在删除子文件夹并使用htaccess获取url中的pageName

Php 正在删除子文件夹并使用htaccess获取url中的pageName,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我想从url中删除子文件夹,并使用.htaccess从url中获取页面名称 假设我的实际目录结构是: /public_html/promoted-content/gui/promoted-content.php /public_html/promoted-content/pages.php Pages.php .htaccess 因此,我希望urlwww.example.com/promoted content/gui/promoted content.php?id=1重写为: www.

我想从url中删除子文件夹,并使用
.htaccess
从url中获取页面名称

假设我的实际目录结构是:

 /public_html/promoted-content/gui/promoted-content.php
 /public_html/promoted-content/pages.php
Pages.php .htaccess 因此,我希望url
www.example.com/promoted content/gui/promoted content.php?id=1
重写为:

 www.example.com/promoted-content-news/pageid/pagetitle

您需要在.htaccess中捕获3个参数,一个用于pageName,一个用于id,一个用于标题:

#make sure existing files and directories work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/([0-9]+)/(.*)$ promoted-content/index.php?pageName=$1&id=$2&title=$3 [L]

您需要在.htaccess中捕获3个参数,一个用于pageName,一个用于id,一个用于标题:

#make sure existing files and directories work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/([0-9]+)/(.*)$ promoted-content/index.php?pageName=$1&id=$2&title=$3 [L]

升级内容/index.php中的var_dump($_GET)并在此处发布。你看到了什么?你的错误是什么?它不工作,告诉我什么我想确定我应该把.htaccess放在哪个目录。如果我把
.htaccess
放在
/promoted content/.htaccess
中,那么如何实现我想要的url。我变量转储,但我没有得到任何东西。您将.htacces放在根/I变量转储中。但是在
/promoted content/index.php
中的index.php中没有收到任何get请求。您是否将RewriteEngine置于.htaccess之上?访问自定义URL时会得到什么?在promoted content/index.php中使用var_dump($_get)并在此处发布。你看到了什么?你的错误是什么?它不工作,告诉我什么我想确定我应该把.htaccess放在哪个目录。如果我把
.htaccess
放在
/promoted content/.htaccess
中,那么如何实现我想要的url。我变量转储,但我没有得到任何东西。您将.htacces放在根/I变量转储中。但是在
/promoted content/index.php
中的index.php中没有收到任何get请求。您是否将RewriteEngine置于.htaccess之上?访问自定义URL时会得到什么?
#make sure existing files and directories work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/([0-9]+)/(.*)$ promoted-content/index.php?pageName=$1&id=$2&title=$3 [L]