有人能告诉我怎么重写这个URL吗。我看过很多关于堆叠溢出的问题,但他们似乎忽略了我的答案。
RewriteEngine On这就是我拥有的..。有点差。
如果它们没有指向目录,我需要重写url。
我得这么做..。
Any.domain.com/pages/一些页面-片段/登录
重写到正确的网址..。
Any.domain.com/page/login.php?page=32
有没有人对如何实现这一目标有任何想法?
发布于 2011-03-02 08:47:46
1)将product.php?id=12重写为产品-12.html
这是一个简单的重定向,其中.php扩展被隐藏在浏览器的地址栏和动态url (包含“?”字符)转换为静态URL。
RewriteEngine on
RewriteRule ^product-([0-9]+)\.html$ product.php?id=$12)将product.php?id=12重写为product/ipod/12.html
SEO专家总是建议在URL中显示主关键字。在以下URL重写技术中,您可以在URL中显示产品的名称。
RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ product.php?id=$23)将非www URL重定向到www URL。
如果在浏览器中键入yahoo.com,它将被重定向到www.yahoo.com。如果您想对您的网站进行同样的操作,那么将以下代码放入.htaccess文件中。这种重定向有什么好处??请查看有关SEO友好重定向(301)在php和.htaccess的帖子。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^optimaxwebsolutions\.com$
RewriteRule (.*) http://www.optimaxwebsolutions.com/$1 [R=301,L]4)将yoursite.com/user.php?username=xyz重写为yoursite.com/xyz
您检查过zorpia.com.If了吗?在浏览器中键入http://zorpia.com/roshanbh233,您可以在那里看到我的配置文件。如果您想要执行相同的重定向,即将http://yoursite.com/xyz重定向到http://yoursite.com/user.php?username=xyz,则可以将以下代码添加到.htaccess文件中。
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$15)将域重定向到public_html内部的一个新的子文件夹。
假设您已经重新开发了您的站点,并且所有新的开发都位于根folder.Then的“new”文件夹中,则可以像“test.com/ new”那样访问该网站的新开发。现在,将这些文件移动到根文件夹可能是一个繁忙的过程,因此您可以在.htaccess文件中创建以下代码,并将其放在网站的根文件夹下。因此,www.test.com指出了“新”文件夹中的文件。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^test\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.test\.com$
RewriteCond %{REQUEST_URI} !^/new/
RewriteRule (.*) /new/$1 发布于 2011-03-02 08:51:26
要做到这一点,您需要编写一个前端控制器。
或者,在Apache中,您可以重写以下内容
Any.domain.com/page/32/登录
或者这个:
Any.domain.com/32/登录
甚至这个:
Any.domain.com//32/登录
对此:
Any.domain.com/page/login.php?page=32
要做到这一点,只需使用apache,您需要以某种方式提供页面id。记住,即使是格式any.domain.com/some-slug/32/login,段塞的内容也是不相关的,不一定会链接到正确的页面。我认为这是不可取的和坏的搜索引擎优化。
的另一个替代品是使用RewriteMap。但这将是一个棘手的问题,每当创建/编辑页面/段塞时,都需要reload对apache进行配置。
发布于 2011-03-02 09:01:54
我知道在这种情况下,pages和login是静态的,some-page-slug正在发生变化。而且您总是希望重定向到静态页面/pages/login.php?page=32。
这就是如何做到的:
1)重写
RewriteEngine On
RewriteRule ^pages/([a-zA-Z0-9_]+)/login(.*)$ /pages/login.php?page=32或2)重定向装饰品
RewriteEngine On
RewriteRule ^pages/([a-zA-Z0-9_]+)/login(.*)$ /pages/login.php?page=32 [R=301,L]或3)临时重定向
RewriteEngine On
RewriteRule ^pages/([a-zA-Z0-9_]+)/login(.*)$ /pages/login.php?page=32 [R=302,L]以下是关于htaccess trics http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/的优秀文章
https://stackoverflow.com/questions/5165169
复制相似问题