2013-12-13 242 views
0

在我的PHP页面我已经给链接作为href =“test.php?category =”xyz“。 在url我想这个页面链接显示为”test/xyz ”如何使动态网页SEO友好的网址使用htaccess

在我的.htaccess文件我已经添加

RewriteRule ^test/([a-zA-Z]+) test.php?category=$ 

,但是这对我来说一点儿也不工作。

所有test.php的其他环节被测试附加到他们的链接。 例如,如果有example.php,它将显示为test/example.php

帮助表示赞赏。 在此先感谢

+0

发布完整的.htaccess代码。 – BaBL86

+0

这是我.htaccess文件 RewriteEngine叙述上 RewriteBase/mysite的 重写规则^(。*)\。HTML $ 1 \ .PHP 选项+了FollowSymLinks 重写规则^测试/([A-ZA -Z] +)的test.php?类别= $ 1 的ErrorDocument 404 http://www.mysite.com/page_not_found.php user3069213

回答

0

这听起来更像是您忘记了在链接中使用完整的相对路径。而不是使用:

<a href="example.php">example</a> 

你应该使用:

<a href="/example.php">example</a> 

否则当你/test/abcd页面上,将example.php意味着/test/example.php

+0

我已经给了在标签在PHP页面的完整链接为Example user3069213

+0

也不错,但什么是所有其他链接? (即你问题最后一行的example.php) –

+0

进入test.php之后,这个文件中的所有链接都会在文件的后面附加“test”。例如。如果在test.php中有enquiry.php文件,它会转到test/enquiry.php – user3069213

1

也许这个代码可以帮助你

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^test/([a-zA-Z]+)$ test.php?category=$1 
</IfModule> 

尝试访问这些网址:test.php?category=abctest/abc。如果两个页面显示相同的内容,则此代码成功。
要了解更多信息,请阅读reference here