2017-01-11 72 views
0

我在重写和重定向我的网址时遇到了一些麻烦。这就是我要做的:重定向并重写动态网址以静态搜索引擎优化友好网址

目前我有这个网址:domain.com/server.php?id=$1

我有一个高于该URL重写为:domain.com/details/$1

我遇到的问题是,当你去:domain.com/server.php?id=$1它不会重定向到我的SEO友好的URL。

有谁知道为什么?

这是我的URL当前重写: RewriteRule ^details/(.*)/ server?id=$1 [L]

+0

检查'virtualhost.conf'和'httpd.conf',寻找'的AllowOverride None'。如果你看到了,把它改为'AllowOverride All'。 – mopsyd

+0

重写!=重定向 –

+0

我知道重写和重定向不一样。我无法获得正确的重定向代码。 – Luz1fer

回答

0

这是我的我发现了什么工作对我来说: # external redirect from actual URL to pretty one RewriteCond %{THE_REQUEST} \s/+server\.php\?id=([^\s&]+) [NC] RewriteRule^details/%1? [R=301,L,NE]

# internal forward from pretty URL to actual one RewriteRule ^details/([^/.]+)/?$ server.php?id=$1 [L,QSA,NC]

0

使用此:

RewriteEngine On 
RewriteRule ^details/([^/]*)$ /server.php?id=$1 [L] 

它会给你的网址:domain.com/details/$1。只需确保在测试之前清除缓存。

+0

我只是试过上面的代码,它没有工作。我甚至无法使用我的网址domain.com/details/$1。我已经重写了这个代码:'Options + FollowSymLinks RewriteEngine on RewriteBase/ RewriteRule^details /(.*)/ server?id = $ 1 [L]'我在将旧URL重定向到我刚刚做了重写。 – Luz1fer

+0

重写通常只在一个方向完成,从SEO友好到“标准方式”。标准将始终有效! 对于重定向只是使用搜索引擎友好链接 –

相关问题