PHP搜索引擎优化友好URL

PHP搜索引擎优化友好URL,php,.htaccess,seo,Php,.htaccess,Seo,我在使用重写引擎实现友好url的目标时遇到了一些问题 基本上我有以下结构: -index.php -向下 -index.php 我在主索引中的链接如下: 下载/index.php?down=FILENAME 我想把它改写成 /download/FILE-NAME,同时指向下载文件夹中的index.php。 我想我的第一个索引中的链接也可以使用/download/FILE-NAME 我的实际代码: RewriteEngine On RewriteRule download/^([a-zA-Z0-9

我在使用重写引擎实现友好url的目标时遇到了一些问题

基本上我有以下结构: -index.php -向下 -index.php

我在主索引中的链接如下: 下载/index.php?down=FILENAME

我想把它改写成 /download/FILE-NAME,同时指向下载文件夹中的index.php。 我想我的第一个索引中的链接也可以使用/download/FILE-NAME

我的实际代码:

RewriteEngine On
RewriteRule download/^([a-zA-Z0-9_-]+)$ index.php?down=$1
谁能帮我实现这个目标?由于我做得不对,所以我经常出错。 在这之后,如何在转换为seo友好URL后获得变量$1?我将下载/FILE-NAME,我需要使用PHP从FILE-NAME获取信息

因此,基本上在main index.php中,我会有一个像/download/FILE-NAME这样的链接,它将打开down/index.php文件,文件名保持类似的状态。

试试这个:

RewriteEngine On
RewriteRule ^download/([a-zA-Z0-9_-]+)$ /ifanydirectory/index.php?down=$1
如果index.php所在的目录名是根级别的相对路径,则可以使用$_get['down']获取变量,如果不适用,只需使用/index.php即可 做一些实验,你会得到正确的结果。

试试这个:

RewriteEngine On
RewriteRule ^download/([a-zA-Z0-9_-]+)$ /ifanydirectory/index.php?down=$1
RewriteCond %{REQUEST_URI} ^download/(.*)$ [NC]
RewriteRule ^(.*)$ index.php?down=$1 [L,QSA]
如果index.php所在的目录名是根级别的相对路径,则可以使用$_get['down']获取变量,如果不适用,只需使用/index.php即可 做一些实验,你会得到正确的

RewriteCond %{REQUEST_URI} ^download/(.*)$ [NC]
RewriteRule ^(.*)$ index.php?down=$1 [L,QSA]
要在index.php中捕获文件名,请执行以下操作:

$filename = $_GET["down"];
要在index.php中捕获文件名,请执行以下操作:

$filename = $_GET["down"];

也许我解释得不好,因为它没有按预期的那样工作

我对主要问题进行了编辑,但试图在这里更好地解释

我有一个带有链接的main index.php

download/FILE-1
download/FILE-2
download/FILE-3
该链接应打开文件夹down/index.php?down=FILE-NAME。
不认为任何人都可以直接访问down文件夹,所以我想将main index.php中的链接(如/down/index.php?down=FILE-NAME)转换为类似/download/FILE-NAME的内容。

也许我没有解释清楚,因为它没有按预期工作

我对主要问题进行了编辑,但试图在这里更好地解释

我有一个带有链接的main index.php

download/FILE-1
download/FILE-2
download/FILE-3
该链接应打开文件夹down/index.php?down=FILE-NAME。
我不认为任何人都可以直接访问down文件夹,所以我想将main index.php中的链接(如/down/index.php?down=FILE-NAME)转换为类似/download/FILE-NAME的内容。

使用后,它不起作用。在此之后,我无法访问接收到禁止错误的main index.php。请使用index.php的相对路径,如RewriteRule^download/[a-zA-Z0-9_-]+$/index.php?down=$1在/index.php之后添加任何目录名,或者在使用它之后将其保留为/index.phpa,这样做不起作用。在此之后,我无法访问接收到禁止错误的main index.php。请使用index.php的相对路径,如RewriteRule^download/[a-zA-Z0-9_-]+$/index.php?down=$1在/index.php之后添加任何目录名,或将其保留为/index.php