从标头读取后,String为null

时间:2015-10-07 11:50:49

标签: php .htaccess url-rewriting

我有一个.htaccess文件,它有一些重定向:

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^termekek/kategoriak/?$    kategoriak.php    [NC,L]    # Kategóriák rd
RewriteRule    ^termekek/?$    kategoriak.php    [NC,L]    # Kategóriák rd
RewriteRule    ^termekek/kategoriak/([A-Za-z]+)/([0-9-])/?$    kategoria.php?category_name=$1&page_number=$2    [QSA,NC,L]    # Kategória rd
RewriteRule    ^termekek/kategoriak/([A-Za-z]+)/?$    kategoria.php?category_name=$1&page_number=1    [QSA,NC,L]    # Kategória rd
RewriteRule    ^termekek/kategoriak/([A-Za-z]+)/([A-Za-z0-9-]+)/?$    termek.php?category_name=$1&product_name=$2    [QSA,NC,L]    # Termék rd

RewriteRule    ^hir/([A-Za-z-0-9-]+)/?$    hir.php?seo_link=$1   [QSA,L]    # Hírek rd

RewriteRule    ^rolunk/?$    rolunk.php    [NC,L]    # Márka rd
RewriteRule    ^markaboltok/?$    markaboltok.php    [NC,L]    # Márkaboltok rd
RewriteRule    ^kapcsolat/?$    kapcsolat.php    [NC,L]    # Kapcsolat rd
RewriteRule    ^hirek/?$    hirek.php    [NC,L]    # Hírek rd

RewriteRule    ^404/?$    404.php    [NC,L]   # 404 error rd

ErrorDocument 404 http://example.com/404/

我有一个单页并不想表现得像我一样。

<?php
include 'functions.php';
include 'config/connection.php';

$seo_link = $_GET['seo_link'];
…

$ seo_link为空,但即使重定向,其他网站也按预期工作。我的重定向有什么问题吗? 我想阅读的模式是:http://www.example.com/hir.php?seo_link=something-from-the-database

将被翻译为:http://www.example.com/hir/something-from-the-database/

提前致谢!

2 个答案:

答案 0 :(得分:2)

看起来像是&#39; hir&#39;重写规则的一部分与文件名冲突&#39; hir.php&#39;。

尝试调整它,以便重写规则的第一部分与文件名不同:

RewriteRule    ^hir2/([A-Za-z-0-9-]+)/?$    hir.php?seo_link=$1   [QSA,L]    # Hírek rd

答案 1 :(得分:0)

您的正则表达式-上还有z-0,请尝试使用:

RewriteRule    ^hir/([A-Za-z0-9\-]+)/$    hir.php?seo_link=$1   [QSA,L]    # Hírek rd