2015-09-26 96 views
1

我想用在我的网站搜索引擎友好的网址,所以我写了下面的代码到我的.htaccess文件:SEO友好的URL是工作,但网页不工作了

# url rewrite query string removal.... 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ index.php?pagina=$1 
# url rewrite query string removal.... 

或以下的代码(不是在同一时刻使用,都似乎为我做同样的)

# url rewrite query string removal.. 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/\.]+)/?$ index.php?pagina=$1 
# TEST 
# url rewrite query string removal.. 

两个工作蛮好的,除了第1页的所有页面。如果我尝试访问域名,例如www.example.com无法正常工作,但www.example.com/home正在工作,则我的主页无法正常工作。

我的问题是:我怎么能有搜索引擎友好的网页,如果:

原始URL是http://www.example.com/index.php?pagina=home,如果我用的.htaccess代码将是http://www.example.com/home但我不喜欢www.example.com/首页作为我的主页,我想将主页重写为www.example.com,其他所有应该在www.example.com/filename中,其中文件名可以是任何可以在/ pagina /夹。

如何设置主页到www.example.com而不是www.example.com/home没有任何错误和什么.htaccess代码是最适合我的?

+0

@SwiftArchitect代码标签是用于标记代码,而不是缩写词,报价,或您想提请注意的任何其他内容,是不是*码*。 – cimmanon

+0

我的错误。感谢您设置这个直线。 – SwiftArchitect

+0

感谢您了解何时不使用代码标签的信息,我会记住并永远不会再使用代码标签来关注任何单词或文本。我将仅使用代码标签代码,再次感谢! – jagb

回答

0

您可以为/home做一个重定向,并在当前规则之前保留该规则。

有这样说:

DirectoryIndex index.php 
RewriteEngine On 

RewriteRule ^home/?$/[L,R=302,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ index.php?pagina=$1 [L,QSA] 
# url rewrite query string removal.... 
+1

谢谢,这是为我工作 – jagb