2017-05-05 32 views
1

我有一个基于谷歌地图的小网站应用程序。我的网址是这样的:APACHE国防部重写 - 动态URL到语义URL

http://www.example.com/web.php?u=olives-restaurante-de-ensaladas-en-margarita 

,我想拥有的正是这种:

http://www.example.com/web/olives-restaurante-de-ensaladas-en-margarita 

所以我想我的转换参数dynamic URLssemantic URLs

我怎样才能做到这一点?

我试图把下面的代码放在我的.htaccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteRule ^web/([A-Z0-9]+)/$ web.php?u=$1 

但可悲的是,当我尝试访问http://www.example.com/web/olives-restaurante-de-ensaladas-en-margarita它重定向我404页。

我在做什么错了?

+0

请注意,这个问题是在编程问题上遵循指南的SEO相关。 – candlejack

+0

也许我的服务器不接受Mod-Rewrite?我如何检查? – candlejack

回答

1
RewriteRule ^web/([A-Z0-9]+)/$ web.php?u=$1 

http://www.ubikate.com.ve/web/olives-restaurante-de-ensaladas-en-margarita 

RewriteRule模式^web/([A-Z0-9]+)/$)不允许连字符,强制执行拖尾斜杠只匹配大写字母,因此这将不符合您所请求的网址。

尝试像,而不是执行以下操作:

RewriteRule ^web/([\w-]+)$ web.php?u=$1 [L] 

\w是一个速记字符类,等效于[a-zA-Z0-9_]

+0

没错!我会尝试! – candlejack

+0

我仍然遇到'404'错误。 – candlejack

+0

尝试暂时将其更改为_redirect_:'RewriteRule^web /([\ w-] +)$ /web.php?u=$1 [R,L]'(注意斜杠前缀和“R”标志)。你在浏览器地址栏中看到什么? – MrWhite