2017-07-08 116 views
1

我希望我的PHP文件传递:mysite.com/?id=ABC123abcmysite.com/ABC123abc
重写查询字符串特殊字符到url?

我试过这个代码,但可能是错误的:

$request = parse_url($_SERVER['REQUEST_URI']); 
$path = $request["path"]; 
$_GET['id'] = $path; //my server returns error 404 - not found 

GOOGLE了它有关,并没有发现任何东西,对不起,如果是重复的问题。

+1

你可以使用htaccess文件那 –

+0

任何关于如何的例子? –

+0

这不是确切的一个,但将帮助https://stackoverflow.com/questions/28168375/how-to-write-htaccess-rewrite-rule-for-seo-friendly-url –

回答

1

在你的网站,你可以使用.htaccess文件(他是用来做命令到Apache)项目的文件夹,里面他,把代码重写您的网址:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [NC,L] 

的RewriteEngine是一个机制,每次写入url时,请求都会被重写,否则就是你指定的。
有关Apache的文档,您可以看到更多的RewriteEngine。

+0

只有一个问题,我的ID查询是这样的:A12ABC1234567 –

+0

使用([0-9a-zA-Z] +)而不是([0-9] +) –

+0

好的,我会试一试。 –

0

您可以使用htaccess

创建SEO友好的URL随着.htaccess的现代重写做这个事情

例子:http://parthmy007.in/user/123

现在你想使用id 所以访问123 N作为参数,这个你必须wright htaccess文件

  1. 创建.htaccess文件

打开记事本(是,窗口记事本)>文件>另存为>将“保存类型”更改为“所有文件”>输入“.htaccess”作为名称,然后按保存。你已经创建了一个htacces文件。

  • 创建自己的重写规则

    RewriteEngine叙述在

    重写规则^用户/([0-9] +)user.php的?ID = $ 1 [NC ,L]

  • +0

    以获取更多信息,请参阅此链接http://sforsuresh.in/url-rewriting-using-htaccess-modrewrite/ –

    +0

    我正在使用自定义查询字符串,数字和字母。我使用我的'index.php'进行查询。 –

    +1

    感谢您的支持,朋友! –